YES 12.181000000000001 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/FiniteMap.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ LR

mainModule FiniteMap
  ((elemFM :: Ord b => b  ->  FiniteMap b a  ->  Bool) :: Ord b => b  ->  FiniteMap b a  ->  Bool)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  elemFM :: Ord a => a  ->  FiniteMap a b  ->  Bool
elemFM key fm 
case lookupFM fm key of
  Nothing-> False
  Just elt-> True

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM (\key elt rest ->(key,elt: rest) [] fm

  foldFM :: (b  ->  a  ->  c  ->  c ->  c  ->  FiniteMap b a  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Lambda Reductions:
The following Lambda expression
\keyeltrest→(key,elt: rest

is transformed to
fmToList0 key elt rest = (key,elt: rest



↳ HASKELL
  ↳ LR
HASKELL
      ↳ CR

mainModule FiniteMap
  ((elemFM :: Ord a => a  ->  FiniteMap a b  ->  Bool) :: Ord a => a  ->  FiniteMap a b  ->  Bool)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  elemFM :: Ord a => a  ->  FiniteMap a b  ->  Bool
elemFM key fm 
case lookupFM fm key of
  Nothing-> False
  Just elt-> True

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Case Reductions:
The following Case expression
case lookupFM fm key of
 Nothing → False
 Just elt → True

is transformed to
elemFM0 Nothing = False
elemFM0 (Just elt) = True

The following Case expression
case compare x y of
 EQ → o
 LT → LT
 GT → GT

is transformed to
primCompAux0 o EQ = o
primCompAux0 o LT = LT
primCompAux0 o GT = GT



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
HASKELL
          ↳ IFR

mainModule FiniteMap
  ((elemFM :: Ord b => b  ->  FiniteMap b a  ->  Bool) :: Ord b => b  ->  FiniteMap b a  ->  Bool)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  elemFM :: Ord a => a  ->  FiniteMap a b  ->  Bool
elemFM key fm elemFM0 (lookupFM fm key)

  
elemFM0 Nothing False
elemFM0 (Just eltTrue

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  b  ->  c  ->  c ->  c  ->  FiniteMap a b  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



If Reductions:
The following If expression
if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero

is transformed to
primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y))
primDivNatS0 x y False = Zero

The following If expression
if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x

is transformed to
primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y)
primModNatS0 x y False = Succ x



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
HASKELL
              ↳ BR

mainModule FiniteMap
  ((elemFM :: Ord b => b  ->  FiniteMap b a  ->  Bool) :: Ord b => b  ->  FiniteMap b a  ->  Bool)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  elemFM :: Ord b => b  ->  FiniteMap b a  ->  Bool
elemFM key fm elemFM0 (lookupFM fm key)

  
elemFM0 Nothing False
elemFM0 (Just eltTrue

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  b  ->  a  ->  a ->  a  ->  FiniteMap c b  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
HASKELL
                  ↳ COR

mainModule FiniteMap
  ((elemFM :: Ord b => b  ->  FiniteMap b a  ->  Bool) :: Ord b => b  ->  FiniteMap b a  ->  Bool)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  elemFM :: Ord a => a  ->  FiniteMap a b  ->  Bool
elemFM key fm elemFM0 (lookupFM fm key)

  
elemFM0 Nothing False
elemFM0 (Just eltTrue

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  b  ->  c  ->  c ->  c  ->  FiniteMap a b  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt vx fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch vy vz size wu wvsize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Cond Reductions:
The following Function with conditions
lookupFM EmptyFM key = Nothing
lookupFM (Branch key elt vx fm_l fm_rkey_to_find
 | key_to_find < key
 = lookupFM fm_l key_to_find
 | key_to_find > key
 = lookupFM fm_r key_to_find
 | otherwise
 = Just elt

is transformed to
lookupFM EmptyFM key = lookupFM4 EmptyFM key
lookupFM (Branch key elt vx fm_l fm_rkey_to_find = lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find

lookupFM0 key elt vx fm_l fm_r key_to_find True = Just elt

lookupFM1 key elt vx fm_l fm_r key_to_find True = lookupFM fm_r key_to_find
lookupFM1 key elt vx fm_l fm_r key_to_find False = lookupFM0 key elt vx fm_l fm_r key_to_find otherwise

lookupFM2 key elt vx fm_l fm_r key_to_find True = lookupFM fm_l key_to_find
lookupFM2 key elt vx fm_l fm_r key_to_find False = lookupFM1 key elt vx fm_l fm_r key_to_find (key_to_find > key)

lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find = lookupFM2 key elt vx fm_l fm_r key_to_find (key_to_find < key)

lookupFM4 EmptyFM key = Nothing
lookupFM4 vvu vvv = lookupFM3 vvu vvv

The following Function with conditions
compare x y
 | x == y
 = EQ
 | x <= y
 = LT
 | otherwise
 = GT

is transformed to
compare x y = compare3 x y

compare0 x y True = GT

compare1 x y True = LT
compare1 x y False = compare0 x y otherwise

compare2 x y True = EQ
compare2 x y False = compare1 x y (x <= y)

compare3 x y = compare2 x y (x == y)

The following Function with conditions
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd' x vvw = gcd'2 x vvw
gcd' x y = gcd'0 x y

gcd'0 x y = gcd' y (x `rem` y)

gcd'1 True x vvw = x
gcd'1 vvx vvy vvz = gcd'0 vvy vvz

gcd'2 x vvw = gcd'1 (vvw == 0) x vvw
gcd'2 vwu vwv = gcd'0 vwu vwv

The following Function with conditions
gcd 0 0 = error []
gcd x y = 
gcd' (abs x) (abs y)
where 
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd vww vwx = gcd3 vww vwx
gcd x y = gcd0 x y

gcd0 x y = 
gcd' (abs x) (abs y)
where 
gcd' x vvw = gcd'2 x vvw
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x vvw = x
gcd'1 vvx vvy vvz = gcd'0 vvy vvz
gcd'2 x vvw = gcd'1 (vvw == 0) x vvw
gcd'2 vwu vwv = gcd'0 vwu vwv

gcd1 True vww vwx = error []
gcd1 vwy vwz vxu = gcd0 vwz vxu

gcd2 True vww vwx = gcd1 (vwx == 0) vww vwx
gcd2 vxv vxw vxx = gcd0 vxw vxx

gcd3 vww vwx = gcd2 (vww == 0) vww vwx
gcd3 vxy vxz = gcd0 vxy vxz

The following Function with conditions
absReal x
 | x >= 0
 = x
 | otherwise
 = `negate` x

is transformed to
absReal x = absReal2 x

absReal0 x True = `negate` x

absReal1 x True = x
absReal1 x False = absReal0 x otherwise

absReal2 x = absReal1 x (x >= 0)

The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False

The following Function with conditions
reduce x y
 | y == 0
 = error []
 | otherwise
 = x `quot` d :% (y `quot` d)
where 
d  = gcd x y

is transformed to
reduce x y = reduce2 x y

reduce2 x y = 
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
HASKELL
                      ↳ LetRed

mainModule FiniteMap
  ((elemFM :: Ord b => b  ->  FiniteMap b a  ->  Bool) :: Ord b => b  ->  FiniteMap b a  ->  Bool)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  elemFM :: Ord a => a  ->  FiniteMap a b  ->  Bool
elemFM key fm elemFM0 (lookupFM fm key)

  
elemFM0 Nothing False
elemFM0 (Just eltTrue

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  b  ->  a  ->  a ->  a  ->  FiniteMap c b  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vx fm_l fm_rkey_to_find lookupFM3 (Branch key elt vx fm_l fm_r) key_to_find

  
lookupFM0 key elt vx fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vx fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vx fm_l fm_r key_to_find False lookupFM0 key elt vx fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vx fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vx fm_l fm_r key_to_find False lookupFM1 key elt vx fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find lookupFM2 key elt vx fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 vvu vvv lookupFM3 vvu vvv

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch vy vz size wu wvsize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Let/Where Reductions:
The bindings of the following Let/Where expression
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise

are unpacked to the following functions on top level
reduce2Reduce1 vyu vyv x y True = error []
reduce2Reduce1 vyu vyv x y False = reduce2Reduce0 vyu vyv x y otherwise

reduce2Reduce0 vyu vyv x y True = x `quot` reduce2D vyu vyv :% (y `quot` reduce2D vyu vyv)

reduce2D vyu vyv = gcd vyu vyv

The bindings of the following Let/Where expression
gcd' (abs x) (abs y)
where 
gcd' x vvw = gcd'2 x vvw
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x vvw = x
gcd'1 vvx vvy vvz = gcd'0 vvy vvz
gcd'2 x vvw = gcd'1 (vvw == 0) x vvw
gcd'2 vwu vwv = gcd'0 vwu vwv

are unpacked to the following functions on top level
gcd0Gcd'1 True x vvw = x
gcd0Gcd'1 vvx vvy vvz = gcd0Gcd'0 vvy vvz

gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y)

gcd0Gcd' x vvw = gcd0Gcd'2 x vvw
gcd0Gcd' x y = gcd0Gcd'0 x y

gcd0Gcd'2 x vvw = gcd0Gcd'1 (vvw == 0) x vvw
gcd0Gcd'2 vwu vwv = gcd0Gcd'0 vwu vwv



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
HASKELL
                          ↳ NumRed

mainModule FiniteMap
  ((elemFM :: Ord a => a  ->  FiniteMap a b  ->  Bool) :: Ord a => a  ->  FiniteMap a b  ->  Bool)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  elemFM :: Ord b => b  ->  FiniteMap b a  ->  Bool
elemFM key fm elemFM0 (lookupFM fm key)

  
elemFM0 Nothing False
elemFM0 (Just eltTrue

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  c  ->  b  ->  b ->  b  ->  FiniteMap a c  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vx fm_l fm_rkey_to_find lookupFM3 (Branch key elt vx fm_l fm_r) key_to_find

  
lookupFM0 key elt vx fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vx fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vx fm_l fm_r key_to_find False lookupFM0 key elt vx fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vx fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vx fm_l fm_r key_to_find False lookupFM1 key elt vx fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find lookupFM2 key elt vx fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 vvu vvv lookupFM3 vvu vvv

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch vy vz size wu wvsize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Num Reduction: All numbers are transformed to thier corresponding representation with Pos, Neg, Succ and Zero.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
HASKELL
                              ↳ Narrow

mainModule FiniteMap
  (elemFM :: Ord b => b  ->  FiniteMap b a  ->  Bool)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  elemFM :: Ord a => a  ->  FiniteMap a b  ->  Bool
elemFM key fm elemFM0 (lookupFM fm key)

  
elemFM0 Nothing False
elemFM0 (Just eltTrue

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  c  ->  b  ->  b ->  b  ->  FiniteMap a c  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vx fm_l fm_rkey_to_find lookupFM3 (Branch key elt vx fm_l fm_r) key_to_find

  
lookupFM0 key elt vx fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vx fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vx fm_l fm_r key_to_find False lookupFM0 key elt vx fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vx fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vx fm_l fm_r key_to_find False lookupFM1 key elt vx fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find lookupFM2 key elt vx fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 vvu vvv lookupFM3 vvu vvv

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM Pos Zero
sizeFM (Branch vy vz size wu wvsize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(vyw3000), Succ(vyw40000)) → new_primEqNat(vyw3000, vyw40000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primPlusNat(Succ(vyw19300), Succ(vyw31000)) → new_primPlusNat(vyw19300, vyw31000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMulNat(Succ(vyw40000), Succ(vyw3100)) → new_primMulNat(vyw40000, Succ(vyw3100))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_esEs1(@2(vyw300, vyw301), @2(vyw4000, vyw4001), app(ty_Maybe, df), de) → new_esEs0(vyw300, vyw4000, df)
new_esEs2(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), app(app(app(ty_@3, gg), gh), ha), gb, gc) → new_esEs2(vyw300, vyw4000, gg, gh, ha)
new_esEs0(Just(vyw300), Just(vyw4000), app(app(app(ty_@3, cf), cg), da)) → new_esEs2(vyw300, vyw4000, cf, cg, da)
new_esEs3(Right(vyw300), Right(vyw4000), bda, app(ty_[], bdb)) → new_esEs(vyw300, vyw4000, bdb)
new_esEs2(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), hd, gb, app(ty_[], baf)) → new_esEs(vyw302, vyw4002, baf)
new_esEs2(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), hd, app(app(ty_Either, bad), bae), gc) → new_esEs3(vyw301, vyw4001, bad, bae)
new_esEs0(Just(vyw300), Just(vyw4000), app(app(ty_Either, db), dc)) → new_esEs3(vyw300, vyw4000, db, dc)
new_esEs2(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), hd, gb, app(app(ty_@2, bah), bba)) → new_esEs1(vyw302, vyw4002, bah, bba)
new_esEs(:(vyw300, vyw301), :(vyw4000, vyw4001), app(app(app(ty_@3, bd), be), bf)) → new_esEs2(vyw300, vyw4000, bd, be, bf)
new_esEs1(@2(vyw300, vyw301), @2(vyw4000, vyw4001), ef, app(app(app(ty_@3, fc), fd), ff)) → new_esEs2(vyw301, vyw4001, fc, fd, ff)
new_esEs2(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), app(ty_[], ga), gb, gc) → new_esEs(vyw300, vyw4000, ga)
new_esEs2(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), hd, app(ty_Maybe, hf), gc) → new_esEs0(vyw301, vyw4001, hf)
new_esEs3(Right(vyw300), Right(vyw4000), bda, app(app(ty_Either, bea), beb)) → new_esEs3(vyw300, vyw4000, bea, beb)
new_esEs0(Just(vyw300), Just(vyw4000), app(ty_Maybe, cc)) → new_esEs0(vyw300, vyw4000, cc)
new_esEs0(Just(vyw300), Just(vyw4000), app(ty_[], cb)) → new_esEs(vyw300, vyw4000, cb)
new_esEs3(Left(vyw300), Left(vyw4000), app(ty_[], bbg), bbh) → new_esEs(vyw300, vyw4000, bbg)
new_esEs3(Left(vyw300), Left(vyw4000), app(app(ty_Either, bcg), bch), bbh) → new_esEs3(vyw300, vyw4000, bcg, bch)
new_esEs2(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), hd, gb, app(ty_Maybe, bag)) → new_esEs0(vyw302, vyw4002, bag)
new_esEs1(@2(vyw300, vyw301), @2(vyw4000, vyw4001), ef, app(ty_[], eg)) → new_esEs(vyw301, vyw4001, eg)
new_esEs2(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), app(ty_Maybe, gd), gb, gc) → new_esEs0(vyw300, vyw4000, gd)
new_esEs1(@2(vyw300, vyw301), @2(vyw4000, vyw4001), app(ty_[], dd), de) → new_esEs(vyw300, vyw4000, dd)
new_esEs(:(vyw300, vyw301), :(vyw4000, vyw4001), app(ty_Maybe, ba)) → new_esEs0(vyw300, vyw4000, ba)
new_esEs1(@2(vyw300, vyw301), @2(vyw4000, vyw4001), ef, app(app(ty_Either, fg), fh)) → new_esEs3(vyw301, vyw4001, fg, fh)
new_esEs2(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), app(app(ty_@2, ge), gf), gb, gc) → new_esEs1(vyw300, vyw4000, ge, gf)
new_esEs1(@2(vyw300, vyw301), @2(vyw4000, vyw4001), ef, app(app(ty_@2, fa), fb)) → new_esEs1(vyw301, vyw4001, fa, fb)
new_esEs(:(vyw300, vyw301), :(vyw4000, vyw4001), app(app(ty_@2, bb), bc)) → new_esEs1(vyw300, vyw4000, bb, bc)
new_esEs(:(vyw300, vyw301), :(vyw4000, vyw4001), ca) → new_esEs(vyw301, vyw4001, ca)
new_esEs(:(vyw300, vyw301), :(vyw4000, vyw4001), app(app(ty_Either, bg), bh)) → new_esEs3(vyw300, vyw4000, bg, bh)
new_esEs2(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), app(app(ty_Either, hb), hc), gb, gc) → new_esEs3(vyw300, vyw4000, hb, hc)
new_esEs2(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), hd, app(app(ty_@2, hg), hh), gc) → new_esEs1(vyw301, vyw4001, hg, hh)
new_esEs3(Left(vyw300), Left(vyw4000), app(app(ty_@2, bcb), bcc), bbh) → new_esEs1(vyw300, vyw4000, bcb, bcc)
new_esEs2(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), hd, app(app(app(ty_@3, baa), bab), bac), gc) → new_esEs2(vyw301, vyw4001, baa, bab, bac)
new_esEs1(@2(vyw300, vyw301), @2(vyw4000, vyw4001), app(app(ty_@2, dg), dh), de) → new_esEs1(vyw300, vyw4000, dg, dh)
new_esEs2(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), hd, app(ty_[], he), gc) → new_esEs(vyw301, vyw4001, he)
new_esEs3(Right(vyw300), Right(vyw4000), bda, app(app(app(ty_@3, bdf), bdg), bdh)) → new_esEs2(vyw300, vyw4000, bdf, bdg, bdh)
new_esEs1(@2(vyw300, vyw301), @2(vyw4000, vyw4001), app(app(ty_Either, ed), ee), de) → new_esEs3(vyw300, vyw4000, ed, ee)
new_esEs3(Left(vyw300), Left(vyw4000), app(app(app(ty_@3, bcd), bce), bcf), bbh) → new_esEs2(vyw300, vyw4000, bcd, bce, bcf)
new_esEs2(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), hd, gb, app(app(ty_Either, bbe), bbf)) → new_esEs3(vyw302, vyw4002, bbe, bbf)
new_esEs3(Right(vyw300), Right(vyw4000), bda, app(app(ty_@2, bdd), bde)) → new_esEs1(vyw300, vyw4000, bdd, bde)
new_esEs1(@2(vyw300, vyw301), @2(vyw4000, vyw4001), ef, app(ty_Maybe, eh)) → new_esEs0(vyw301, vyw4001, eh)
new_esEs3(Left(vyw300), Left(vyw4000), app(ty_Maybe, bca), bbh) → new_esEs0(vyw300, vyw4000, bca)
new_esEs3(Right(vyw300), Right(vyw4000), bda, app(ty_Maybe, bdc)) → new_esEs0(vyw300, vyw4000, bdc)
new_esEs0(Just(vyw300), Just(vyw4000), app(app(ty_@2, cd), ce)) → new_esEs1(vyw300, vyw4000, cd, ce)
new_esEs(:(vyw300, vyw301), :(vyw4000, vyw4001), app(ty_[], h)) → new_esEs(vyw300, vyw4000, h)
new_esEs2(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), hd, gb, app(app(app(ty_@3, bbb), bbc), bbd)) → new_esEs2(vyw302, vyw4002, bbb, bbc, bbd)
new_esEs1(@2(vyw300, vyw301), @2(vyw4000, vyw4001), app(app(app(ty_@3, ea), eb), ec), de) → new_esEs2(vyw300, vyw4000, ea, eb, ec)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primCmpNat(Succ(vyw300), Succ(vyw4000)) → new_primCmpNat(vyw300, vyw4000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_compare21(vyw113, vyw114, vyw115, vyw116, False, app(app(app(ty_@3, ccb), ccc), ccd), cce) → new_lt(vyw113, vyw115, ccb, ccc, ccd)
new_ltEs1(@2(vyw590, vyw591), @2(vyw600, vyw601), bcb, app(app(ty_@2, bcg), bch)) → new_ltEs1(vyw591, vyw601, bcg, bch)
new_lt2(Left(vyw30), Left(vyw400), cdd, cde) → new_compare22(vyw30, vyw400, new_esEs10(vyw30, vyw400, cdd), cdd, cde)
new_compare(@3(vyw30, vyw31, vyw32), @3(vyw400, vyw401, vyw402), h, ba, bb) → new_compare2(vyw30, vyw31, vyw32, vyw400, vyw401, vyw402, new_asAs(new_esEs4(vyw30, vyw400, h), new_asAs(new_esEs5(vyw31, vyw401, ba), new_esEs6(vyw32, vyw402, bb))), h, ba, bb)
new_compare20(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), False, app(app(app(ty_@3, fb), fc), app(ty_[], ge))) → new_ltEs3(vyw592, vyw602, ge)
new_compare21(vyw113, vyw114, vyw115, vyw116, False, cah, app(ty_Maybe, cbd)) → new_ltEs0(vyw114, vyw116, cbd)
new_compare20(Right(vyw590), Right(vyw600), False, app(app(ty_Either, bfh), app(app(app(ty_@3, bga), bgb), bgc))) → new_ltEs(vyw590, vyw600, bga, bgb, bgc)
new_compare0(:(vyw30, vyw31), :(vyw400, vyw401), bhc) → new_compare0(vyw31, vyw401, bhc)
new_ltEs2(Left(vyw590), Left(vyw600), app(app(ty_Either, bfe), bff), bfa) → new_ltEs2(vyw590, vyw600, bfe, bff)
new_compare21(vyw113, vyw114, vyw115, vyw116, False, cah, app(app(ty_Either, cbg), cbh)) → new_ltEs2(vyw114, vyw116, cbg, cbh)
new_ltEs(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), fb, app(app(ty_Either, he), hf), ha) → new_lt2(vyw591, vyw601, he, hf)
new_compare23(vyw84, vyw85, False, ceh, app(app(ty_@2, cfe), cff)) → new_ltEs1(vyw84, vyw85, cfe, cff)
new_ltEs1(@2(vyw590, vyw591), @2(vyw600, vyw601), app(ty_[], bee), bdg) → new_lt3(vyw590, vyw600, bee)
new_ltEs(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), fb, fc, app(app(ty_@2, ga), gb)) → new_ltEs1(vyw592, vyw602, ga, gb)
new_ltEs0(Just(vyw590), Just(vyw600), app(ty_Maybe, bbd)) → new_ltEs0(vyw590, vyw600, bbd)
new_ltEs1(@2(vyw590, vyw591), @2(vyw600, vyw601), bcb, app(ty_[], bdc)) → new_ltEs3(vyw591, vyw601, bdc)
new_compare20(Just(vyw590), Just(vyw600), False, app(ty_Maybe, app(ty_Maybe, bbd))) → new_ltEs0(vyw590, vyw600, bbd)
new_lt3(:(vyw30, vyw31), :(vyw400, vyw401), bhc) → new_primCompAux(vyw30, vyw400, new_compare1(vyw31, vyw401, bhc), bhc)
new_ltEs2(Right(vyw590), Right(vyw600), bfh, app(ty_Maybe, bgd)) → new_ltEs0(vyw590, vyw600, bgd)
new_ltEs(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), fb, fc, app(app(ty_Either, gc), gd)) → new_ltEs2(vyw592, vyw602, gc, gd)
new_compare20(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), False, app(app(app(ty_@3, app(app(ty_Either, baf), bag)), fc), ha)) → new_lt2(vyw590, vyw600, baf, bag)
new_ltEs3(vyw59, vyw60, bhb) → new_compare0(vyw59, vyw60, bhb)
new_compare21(vyw113, vyw114, vyw115, vyw116, False, app(app(ty_@2, ccg), cch), cce) → new_lt1(vyw113, vyw115, ccg, cch)
new_compare23(vyw84, vyw85, False, ceh, app(ty_[], cga)) → new_ltEs3(vyw84, vyw85, cga)
new_primCompAux(vyw30, vyw400, vyw39, app(app(ty_Either, cab), cac)) → new_compare5(vyw30, vyw400, cab, cac)
new_primCompAux(vyw30, vyw400, vyw39, app(app(app(ty_@3, bhd), bhe), bhf)) → new_compare(vyw30, vyw400, bhd, bhe, bhf)
new_compare20(Just(vyw590), Just(vyw600), False, app(ty_Maybe, app(ty_[], bca))) → new_ltEs3(vyw590, vyw600, bca)
new_compare20(Right(vyw590), Right(vyw600), False, app(app(ty_Either, bfh), app(app(ty_Either, bgg), bgh))) → new_ltEs2(vyw590, vyw600, bgg, bgh)
new_compare2(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, False, app(app(ty_Either, eg), eh), bd, db) → new_lt2(vyw100, vyw103, eg, eh)
new_compare20(Left(vyw590), Left(vyw600), False, app(app(ty_Either, app(app(ty_@2, bfc), bfd)), bfa)) → new_ltEs1(vyw590, vyw600, bfc, bfd)
new_ltEs0(Just(vyw590), Just(vyw600), app(ty_[], bca)) → new_ltEs3(vyw590, vyw600, bca)
new_ltEs2(Left(vyw590), Left(vyw600), app(app(app(ty_@3, bef), beg), beh), bfa) → new_ltEs(vyw590, vyw600, bef, beg, beh)
new_compare22(vyw77, vyw78, False, app(app(app(ty_@3, cdf), cdg), cdh), cea) → new_ltEs(vyw77, vyw78, cdf, cdg, cdh)
new_ltEs1(@2(vyw590, vyw591), @2(vyw600, vyw601), bcb, app(app(app(ty_@3, bcc), bcd), bce)) → new_ltEs(vyw591, vyw601, bcc, bcd, bce)
new_lt1(@2(vyw30, vyw31), @2(vyw400, vyw401), caf, cag) → new_compare21(vyw30, vyw31, vyw400, vyw401, new_asAs(new_esEs8(vyw30, vyw400, caf), new_esEs9(vyw31, vyw401, cag)), caf, cag)
new_compare20(@2(vyw590, vyw591), @2(vyw600, vyw601), False, app(app(ty_@2, bcb), app(app(ty_Either, bda), bdb))) → new_ltEs2(vyw591, vyw601, bda, bdb)
new_compare20(Just(vyw590), Just(vyw600), False, app(ty_Maybe, app(app(ty_@2, bbe), bbf))) → new_ltEs1(vyw590, vyw600, bbe, bbf)
new_ltEs(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), fb, app(app(ty_@2, hc), hd), ha) → new_lt1(vyw591, vyw601, hc, hd)
new_compare2(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, False, app(ty_[], fa), bd, db) → new_lt3(vyw100, vyw103, fa)
new_ltEs(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), fb, app(app(app(ty_@3, gf), gg), gh), ha) → new_lt(vyw591, vyw601, gf, gg, gh)
new_ltEs(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), app(app(ty_@2, bad), bae), fc, ha) → new_lt1(vyw590, vyw600, bad, bae)
new_ltEs1(@2(vyw590, vyw591), @2(vyw600, vyw601), app(ty_Maybe, bdh), bdg) → new_lt0(vyw590, vyw600, bdh)
new_lt2(Right(vyw30), Right(vyw400), cdd, cde) → new_compare23(vyw30, vyw400, new_esEs11(vyw30, vyw400, cde), cdd, cde)
new_compare3(Just(vyw30), Just(vyw400), cae) → new_compare20(vyw30, vyw400, new_esEs7(vyw30, vyw400, cae), cae)
new_ltEs(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), fb, fc, app(ty_[], ge)) → new_ltEs3(vyw592, vyw602, ge)
new_compare5(Left(vyw30), Left(vyw400), cdd, cde) → new_compare22(vyw30, vyw400, new_esEs10(vyw30, vyw400, cdd), cdd, cde)
new_ltEs(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), fb, app(ty_[], hg), ha) → new_lt3(vyw591, vyw601, hg)
new_compare22(vyw77, vyw78, False, app(ty_[], ceg), cea) → new_ltEs3(vyw77, vyw78, ceg)
new_compare20(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), False, app(app(app(ty_@3, fb), app(ty_[], hg)), ha)) → new_lt3(vyw591, vyw601, hg)
new_compare21(vyw113, vyw114, vyw115, vyw116, False, app(ty_[], cdc), cce) → new_lt3(vyw113, vyw115, cdc)
new_ltEs0(Just(vyw590), Just(vyw600), app(app(ty_@2, bbe), bbf)) → new_ltEs1(vyw590, vyw600, bbe, bbf)
new_compare0(:(vyw30, vyw31), :(vyw400, vyw401), bhc) → new_primCompAux(vyw30, vyw400, new_compare1(vyw31, vyw401, bhc), bhc)
new_ltEs(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), app(ty_Maybe, bac), fc, ha) → new_lt0(vyw590, vyw600, bac)
new_compare2(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, False, bc, app(app(ty_@2, dd), de), db) → new_lt1(vyw101, vyw104, dd, de)
new_ltEs0(Just(vyw590), Just(vyw600), app(app(ty_Either, bbg), bbh)) → new_ltEs2(vyw590, vyw600, bbg, bbh)
new_ltEs1(@2(vyw590, vyw591), @2(vyw600, vyw601), app(app(ty_Either, bec), bed), bdg) → new_lt2(vyw590, vyw600, bec, bed)
new_compare22(vyw77, vyw78, False, app(app(ty_Either, cee), cef), cea) → new_ltEs2(vyw77, vyw78, cee, cef)
new_compare20(@2(vyw590, vyw591), @2(vyw600, vyw601), False, app(app(ty_@2, app(ty_[], bee)), bdg)) → new_lt3(vyw590, vyw600, bee)
new_ltEs(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), app(ty_[], bah), fc, ha) → new_lt3(vyw590, vyw600, bah)
new_compare2(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, False, bc, bd, app(ty_Maybe, bh)) → new_ltEs0(vyw102, vyw105, bh)
new_lt(@3(vyw30, vyw31, vyw32), @3(vyw400, vyw401, vyw402), h, ba, bb) → new_compare2(vyw30, vyw31, vyw32, vyw400, vyw401, vyw402, new_asAs(new_esEs4(vyw30, vyw400, h), new_asAs(new_esEs5(vyw31, vyw401, ba), new_esEs6(vyw32, vyw402, bb))), h, ba, bb)
new_ltEs(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), fb, fc, app(app(app(ty_@3, fd), ff), fg)) → new_ltEs(vyw592, vyw602, fd, ff, fg)
new_compare20(Left(vyw590), Left(vyw600), False, app(app(ty_Either, app(ty_[], bfg)), bfa)) → new_ltEs3(vyw590, vyw600, bfg)
new_compare20(@2(vyw590, vyw591), @2(vyw600, vyw601), False, app(app(ty_@2, app(app(ty_Either, bec), bed)), bdg)) → new_lt2(vyw590, vyw600, bec, bed)
new_compare20(@2(vyw590, vyw591), @2(vyw600, vyw601), False, app(app(ty_@2, bcb), app(app(ty_@2, bcg), bch))) → new_ltEs1(vyw591, vyw601, bcg, bch)
new_compare20(@2(vyw590, vyw591), @2(vyw600, vyw601), False, app(app(ty_@2, bcb), app(ty_[], bdc))) → new_ltEs3(vyw591, vyw601, bdc)
new_compare20(@2(vyw590, vyw591), @2(vyw600, vyw601), False, app(app(ty_@2, app(ty_Maybe, bdh)), bdg)) → new_lt0(vyw590, vyw600, bdh)
new_ltEs2(Left(vyw590), Left(vyw600), app(ty_[], bfg), bfa) → new_ltEs3(vyw590, vyw600, bfg)
new_compare20(@2(vyw590, vyw591), @2(vyw600, vyw601), False, app(app(ty_@2, app(app(app(ty_@3, bdd), bde), bdf)), bdg)) → new_lt(vyw590, vyw600, bdd, bde, bdf)
new_compare20(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), False, app(app(app(ty_@3, fb), fc), app(ty_Maybe, fh))) → new_ltEs0(vyw592, vyw602, fh)
new_compare2(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, False, bc, bd, app(app(ty_@2, ca), cb)) → new_ltEs1(vyw102, vyw105, ca, cb)
new_compare4(@2(vyw30, vyw31), @2(vyw400, vyw401), caf, cag) → new_compare21(vyw30, vyw31, vyw400, vyw401, new_asAs(new_esEs8(vyw30, vyw400, caf), new_esEs9(vyw31, vyw401, cag)), caf, cag)
new_compare21(vyw113, vyw114, vyw115, vyw116, False, cah, app(app(ty_@2, cbe), cbf)) → new_ltEs1(vyw114, vyw116, cbe, cbf)
new_ltEs1(@2(vyw590, vyw591), @2(vyw600, vyw601), bcb, app(ty_Maybe, bcf)) → new_ltEs0(vyw591, vyw601, bcf)
new_compare20(@2(vyw590, vyw591), @2(vyw600, vyw601), False, app(app(ty_@2, bcb), app(ty_Maybe, bcf))) → new_ltEs0(vyw591, vyw601, bcf)
new_ltEs2(Right(vyw590), Right(vyw600), bfh, app(ty_[], bha)) → new_ltEs3(vyw590, vyw600, bha)
new_compare20(Left(vyw590), Left(vyw600), False, app(app(ty_Either, app(app(ty_Either, bfe), bff)), bfa)) → new_ltEs2(vyw590, vyw600, bfe, bff)
new_compare2(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, False, app(app(app(ty_@3, ea), eb), ec), bd, db) → new_lt(vyw100, vyw103, ea, eb, ec)
new_ltEs2(Right(vyw590), Right(vyw600), bfh, app(app(ty_@2, bge), bgf)) → new_ltEs1(vyw590, vyw600, bge, bgf)
new_compare20(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), False, app(app(app(ty_@3, app(app(ty_@2, bad), bae)), fc), ha)) → new_lt1(vyw590, vyw600, bad, bae)
new_lt0(Just(vyw30), Just(vyw400), cae) → new_compare20(vyw30, vyw400, new_esEs7(vyw30, vyw400, cae), cae)
new_compare20(Right(vyw590), Right(vyw600), False, app(app(ty_Either, bfh), app(ty_[], bha))) → new_ltEs3(vyw590, vyw600, bha)
new_compare20(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), False, app(app(app(ty_@3, fb), fc), app(app(app(ty_@3, fd), ff), fg))) → new_ltEs(vyw592, vyw602, fd, ff, fg)
new_compare20(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), False, app(app(app(ty_@3, fb), fc), app(app(ty_@2, ga), gb))) → new_ltEs1(vyw592, vyw602, ga, gb)
new_compare20(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), False, app(app(app(ty_@3, app(ty_[], bah)), fc), ha)) → new_lt3(vyw590, vyw600, bah)
new_compare20(Left(vyw590), Left(vyw600), False, app(app(ty_Either, app(ty_Maybe, bfb)), bfa)) → new_ltEs0(vyw590, vyw600, bfb)
new_compare20(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), False, app(app(app(ty_@3, fb), app(ty_Maybe, hb)), ha)) → new_lt0(vyw591, vyw601, hb)
new_compare20(@2(vyw590, vyw591), @2(vyw600, vyw601), False, app(app(ty_@2, bcb), app(app(app(ty_@3, bcc), bcd), bce))) → new_ltEs(vyw591, vyw601, bcc, bcd, bce)
new_compare2(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, False, bc, bd, app(app(ty_Either, cc), cd)) → new_ltEs2(vyw102, vyw105, cc, cd)
new_primCompAux(vyw30, vyw400, vyw39, app(ty_[], cad)) → new_compare0(vyw30, vyw400, cad)
new_compare20(vyw59, vyw60, False, app(ty_[], bhb)) → new_compare0(vyw59, vyw60, bhb)
new_compare2(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, False, app(app(ty_@2, ee), ef), bd, db) → new_lt1(vyw100, vyw103, ee, ef)
new_compare2(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, False, bc, app(app(app(ty_@3, cf), cg), da), db) → new_lt(vyw101, vyw104, cf, cg, da)
new_compare21(vyw113, vyw114, vyw115, vyw116, False, app(app(ty_Either, cda), cdb), cce) → new_lt2(vyw113, vyw115, cda, cdb)
new_compare23(vyw84, vyw85, False, ceh, app(app(ty_Either, cfg), cfh)) → new_ltEs2(vyw84, vyw85, cfg, cfh)
new_compare20(@2(vyw590, vyw591), @2(vyw600, vyw601), False, app(app(ty_@2, app(app(ty_@2, bea), beb)), bdg)) → new_lt1(vyw590, vyw600, bea, beb)
new_compare20(Just(vyw590), Just(vyw600), False, app(ty_Maybe, app(app(ty_Either, bbg), bbh))) → new_ltEs2(vyw590, vyw600, bbg, bbh)
new_ltEs2(Right(vyw590), Right(vyw600), bfh, app(app(app(ty_@3, bga), bgb), bgc)) → new_ltEs(vyw590, vyw600, bga, bgb, bgc)
new_compare20(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), False, app(app(app(ty_@3, fb), fc), app(app(ty_Either, gc), gd))) → new_ltEs2(vyw592, vyw602, gc, gd)
new_compare2(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, False, app(ty_Maybe, ed), bd, db) → new_lt0(vyw100, vyw103, ed)
new_compare20(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), False, app(app(app(ty_@3, app(ty_Maybe, bac)), fc), ha)) → new_lt0(vyw590, vyw600, bac)
new_ltEs2(Right(vyw590), Right(vyw600), bfh, app(app(ty_Either, bgg), bgh)) → new_ltEs2(vyw590, vyw600, bgg, bgh)
new_compare2(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, False, bc, app(app(ty_Either, df), dg), db) → new_lt2(vyw101, vyw104, df, dg)
new_compare20(Left(vyw590), Left(vyw600), False, app(app(ty_Either, app(app(app(ty_@3, bef), beg), beh)), bfa)) → new_ltEs(vyw590, vyw600, bef, beg, beh)
new_ltEs1(@2(vyw590, vyw591), @2(vyw600, vyw601), app(app(ty_@2, bea), beb), bdg) → new_lt1(vyw590, vyw600, bea, beb)
new_compare2(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, False, bc, app(ty_[], dh), db) → new_lt3(vyw101, vyw104, dh)
new_ltEs(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), fb, app(ty_Maybe, hb), ha) → new_lt0(vyw591, vyw601, hb)
new_ltEs(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), app(app(app(ty_@3, hh), baa), bab), fc, ha) → new_lt(vyw590, vyw600, hh, baa, bab)
new_ltEs(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), app(app(ty_Either, baf), bag), fc, ha) → new_lt2(vyw590, vyw600, baf, bag)
new_ltEs2(Left(vyw590), Left(vyw600), app(ty_Maybe, bfb), bfa) → new_ltEs0(vyw590, vyw600, bfb)
new_ltEs(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), fb, fc, app(ty_Maybe, fh)) → new_ltEs0(vyw592, vyw602, fh)
new_compare22(vyw77, vyw78, False, app(ty_Maybe, ceb), cea) → new_ltEs0(vyw77, vyw78, ceb)
new_compare21(vyw113, vyw114, vyw115, vyw116, False, cah, app(app(app(ty_@3, cba), cbb), cbc)) → new_ltEs(vyw114, vyw116, cba, cbb, cbc)
new_compare20(Right(vyw590), Right(vyw600), False, app(app(ty_Either, bfh), app(ty_Maybe, bgd))) → new_ltEs0(vyw590, vyw600, bgd)
new_lt3(:(vyw30, vyw31), :(vyw400, vyw401), bhc) → new_compare0(vyw31, vyw401, bhc)
new_compare20(Right(vyw590), Right(vyw600), False, app(app(ty_Either, bfh), app(app(ty_@2, bge), bgf))) → new_ltEs1(vyw590, vyw600, bge, bgf)
new_compare20(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), False, app(app(app(ty_@3, fb), app(app(app(ty_@3, gf), gg), gh)), ha)) → new_lt(vyw591, vyw601, gf, gg, gh)
new_primCompAux(vyw30, vyw400, vyw39, app(app(ty_@2, bhh), caa)) → new_compare4(vyw30, vyw400, bhh, caa)
new_compare2(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, False, bc, bd, app(ty_[], ce)) → new_ltEs3(vyw102, vyw105, ce)
new_compare23(vyw84, vyw85, False, ceh, app(ty_Maybe, cfd)) → new_ltEs0(vyw84, vyw85, cfd)
new_ltEs1(@2(vyw590, vyw591), @2(vyw600, vyw601), app(app(app(ty_@3, bdd), bde), bdf), bdg) → new_lt(vyw590, vyw600, bdd, bde, bdf)
new_ltEs2(Left(vyw590), Left(vyw600), app(app(ty_@2, bfc), bfd), bfa) → new_ltEs1(vyw590, vyw600, bfc, bfd)
new_compare21(vyw113, vyw114, vyw115, vyw116, False, cah, app(ty_[], cca)) → new_ltEs3(vyw114, vyw116, cca)
new_compare21(vyw113, vyw114, vyw115, vyw116, False, app(ty_Maybe, ccf), cce) → new_lt0(vyw113, vyw115, ccf)
new_compare20(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), False, app(app(app(ty_@3, fb), app(app(ty_@2, hc), hd)), ha)) → new_lt1(vyw591, vyw601, hc, hd)
new_compare20(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), False, app(app(app(ty_@3, app(app(app(ty_@3, hh), baa), bab)), fc), ha)) → new_lt(vyw590, vyw600, hh, baa, bab)
new_compare22(vyw77, vyw78, False, app(app(ty_@2, cec), ced), cea) → new_ltEs1(vyw77, vyw78, cec, ced)
new_compare2(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, False, bc, app(ty_Maybe, dc), db) → new_lt0(vyw101, vyw104, dc)
new_ltEs0(Just(vyw590), Just(vyw600), app(app(app(ty_@3, bba), bbb), bbc)) → new_ltEs(vyw590, vyw600, bba, bbb, bbc)
new_compare20(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), False, app(app(app(ty_@3, fb), app(app(ty_Either, he), hf)), ha)) → new_lt2(vyw591, vyw601, he, hf)
new_compare20(Just(vyw590), Just(vyw600), False, app(ty_Maybe, app(app(app(ty_@3, bba), bbb), bbc))) → new_ltEs(vyw590, vyw600, bba, bbb, bbc)
new_compare2(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, False, bc, bd, app(app(app(ty_@3, be), bf), bg)) → new_ltEs(vyw102, vyw105, be, bf, bg)
new_compare5(Right(vyw30), Right(vyw400), cdd, cde) → new_compare23(vyw30, vyw400, new_esEs11(vyw30, vyw400, cde), cdd, cde)
new_primCompAux(vyw30, vyw400, vyw39, app(ty_Maybe, bhg)) → new_compare3(vyw30, vyw400, bhg)
new_compare23(vyw84, vyw85, False, ceh, app(app(app(ty_@3, cfa), cfb), cfc)) → new_ltEs(vyw84, vyw85, cfa, cfb, cfc)
new_ltEs1(@2(vyw590, vyw591), @2(vyw600, vyw601), bcb, app(app(ty_Either, bda), bdb)) → new_ltEs2(vyw591, vyw601, bda, bdb)

The TRS R consists of the following rules:

new_esEs22(Right(vyw300), Right(vyw4000), che, ty_Char) → new_esEs19(vyw300, vyw4000)
new_ltEs23(vyw59, vyw60, app(ty_Maybe, fff)) → new_ltEs9(vyw59, vyw60, fff)
new_lt15(vyw3, vyw40) → new_esEs12(new_compare17(vyw3, vyw40))
new_esEs22(Right(vyw300), Right(vyw4000), che, app(app(ty_@2, dfh), dga)) → new_esEs21(vyw300, vyw4000, dfh, dga)
new_compare113(vyw165, vyw166, vyw167, vyw168, vyw169, vyw170, False, vyw172, edd, ede, edf) → new_compare114(vyw165, vyw166, vyw167, vyw168, vyw169, vyw170, vyw172, edd, ede, edf)
new_lt23(vyw100, vyw103, app(ty_Maybe, ed)) → new_lt12(vyw100, vyw103, ed)
new_lt19(vyw113, vyw115, app(ty_Ratio, dea)) → new_lt10(vyw113, vyw115, dea)
new_ltEs15(True, False) → False
new_esEs36(vyw301, vyw4001, app(ty_Maybe, fag)) → new_esEs18(vyw301, vyw4001, fag)
new_ltEs12(Right(vyw590), Right(vyw600), bfh, app(ty_Maybe, bgd)) → new_ltEs9(vyw590, vyw600, bgd)
new_esEs26(@0, @0) → True
new_esEs33(vyw300, vyw4000, ty_Int) → new_esEs23(vyw300, vyw4000)
new_esEs13(False, True) → False
new_esEs13(True, False) → False
new_compare110(vyw180, vyw181, vyw182, vyw183, True, dcc, dcd) → LT
new_esEs28(vyw113, vyw115, app(ty_Maybe, ccf)) → new_esEs18(vyw113, vyw115, ccf)
new_esEs40(vyw300, vyw4000, app(ty_Maybe, fgb)) → new_esEs18(vyw300, vyw4000, fgb)
new_esEs18(Just(vyw300), Just(vyw4000), ty_Double) → new_esEs20(vyw300, vyw4000)
new_esEs4(vyw30, vyw400, ty_Ordering) → new_esEs15(vyw30, vyw400)
new_lt9(vyw590, vyw600, ty_Int) → new_lt6(vyw590, vyw600)
new_esEs11(vyw30, vyw400, app(app(ty_@2, egd), ege)) → new_esEs21(vyw30, vyw400, egd, ege)
new_lt19(vyw113, vyw115, ty_Integer) → new_lt18(vyw113, vyw115)
new_esEs36(vyw301, vyw4001, ty_Ordering) → new_esEs15(vyw301, vyw4001)
new_esEs39(vyw301, vyw4001, app(app(ty_@2, fef), feg)) → new_esEs21(vyw301, vyw4001, fef, feg)
new_esEs40(vyw300, vyw4000, ty_Char) → new_esEs19(vyw300, vyw4000)
new_lt22(vyw101, vyw104, ty_Ordering) → new_lt8(vyw101, vyw104)
new_esEs40(vyw300, vyw4000, app(app(ty_Either, fgh), fha)) → new_esEs22(vyw300, vyw4000, fgh, fha)
new_lt22(vyw101, vyw104, ty_@0) → new_lt17(vyw101, vyw104)
new_esEs38(vyw300, vyw4000, ty_Char) → new_esEs19(vyw300, vyw4000)
new_esEs15(EQ, EQ) → True
new_lt20(vyw591, vyw601, ty_Float) → new_lt14(vyw591, vyw601)
new_compare28(vyw84, vyw85, False, ceh, fhb) → new_compare116(vyw84, vyw85, new_ltEs24(vyw84, vyw85, fhb), ceh, fhb)
new_ltEs9(Nothing, Just(vyw600), fff) → True
new_esEs6(vyw32, vyw402, ty_@0) → new_esEs26(vyw32, vyw402)
new_lt23(vyw100, vyw103, ty_Char) → new_lt13(vyw100, vyw103)
new_compare8(vyw30, vyw400, app(ty_Ratio, cgb)) → new_compare10(vyw30, vyw400, cgb)
new_compare9(GT, EQ) → GT
new_esEs31(vyw100, vyw103, ty_Integer) → new_esEs27(vyw100, vyw103)
new_compare9(EQ, GT) → LT
new_ltEs19(vyw114, vyw116, ty_Double) → new_ltEs11(vyw114, vyw116)
new_ltEs23(vyw59, vyw60, ty_Ordering) → new_ltEs6(vyw59, vyw60)
new_esEs39(vyw301, vyw4001, app(app(ty_Either, ffc), ffd)) → new_esEs22(vyw301, vyw4001, ffc, ffd)
new_ltEs21(vyw102, vyw105, ty_Char) → new_ltEs10(vyw102, vyw105)
new_esEs22(Left(vyw300), Left(vyw4000), ty_Int, chf) → new_esEs23(vyw300, vyw4000)
new_compare8(vyw30, vyw400, app(ty_[], cad)) → new_compare1(vyw30, vyw400, cad)
new_lt21(vyw590, vyw600, ty_@0) → new_lt17(vyw590, vyw600)
new_primMulNat0(Zero, Zero) → Zero
new_ltEs24(vyw84, vyw85, ty_Ordering) → new_ltEs6(vyw84, vyw85)
new_esEs11(vyw30, vyw400, ty_Float) → new_esEs24(vyw30, vyw400)
new_esEs32(vyw101, vyw104, app(app(ty_Either, df), dg)) → new_esEs22(vyw101, vyw104, df, dg)
new_esEs31(vyw100, vyw103, app(ty_[], fa)) → new_esEs25(vyw100, vyw103, fa)
new_ltEs24(vyw84, vyw85, app(ty_Ratio, fhc)) → new_ltEs7(vyw84, vyw85, fhc)
new_esEs32(vyw101, vyw104, ty_Integer) → new_esEs27(vyw101, vyw104)
new_lt20(vyw591, vyw601, ty_Integer) → new_lt18(vyw591, vyw601)
new_esEs40(vyw300, vyw4000, ty_Float) → new_esEs24(vyw300, vyw4000)
new_esEs37(vyw302, vyw4002, ty_Int) → new_esEs23(vyw302, vyw4002)
new_ltEs11(vyw59, vyw60) → new_fsEs(new_compare7(vyw59, vyw60))
new_ltEs5(vyw591, vyw601, ty_Float) → new_ltEs14(vyw591, vyw601)
new_esEs6(vyw32, vyw402, app(app(app(ty_@3, dbf), dbg), dbh)) → new_esEs17(vyw32, vyw402, dbf, dbg, dbh)
new_lt6(vyw3, vyw40) → new_esEs12(new_compare15(vyw3, vyw40))
new_esEs34(vyw301, vyw4001, ty_Int) → new_esEs23(vyw301, vyw4001)
new_esEs30(vyw591, vyw601, ty_@0) → new_esEs26(vyw591, vyw601)
new_compare9(LT, LT) → EQ
new_lt9(vyw590, vyw600, ty_Ordering) → new_lt8(vyw590, vyw600)
new_compare1([], :(vyw400, vyw401), bhc) → LT
new_compare25(vyw113, vyw114, vyw115, vyw116, False, cah, cce) → new_compare112(vyw113, vyw114, vyw115, vyw116, new_lt19(vyw113, vyw115, cah), new_asAs(new_esEs28(vyw113, vyw115, cah), new_ltEs19(vyw114, vyw116, cce)), cah, cce)
new_esEs30(vyw591, vyw601, ty_Bool) → new_esEs13(vyw591, vyw601)
new_lt21(vyw590, vyw600, app(ty_[], bah)) → new_lt16(vyw590, vyw600, bah)
new_ltEs9(Just(vyw590), Just(vyw600), ty_Ordering) → new_ltEs6(vyw590, vyw600)
new_esEs32(vyw101, vyw104, ty_Float) → new_esEs24(vyw101, vyw104)
new_esEs32(vyw101, vyw104, ty_Bool) → new_esEs13(vyw101, vyw104)
new_esEs37(vyw302, vyw4002, app(app(ty_Either, fcg), fch)) → new_esEs22(vyw302, vyw4002, fcg, fch)
new_esEs22(Left(vyw300), Left(vyw4000), ty_@0, chf) → new_esEs26(vyw300, vyw4000)
new_ltEs22(vyw77, vyw78, ty_Ordering) → new_ltEs6(vyw77, vyw78)
new_compare18(@0, @0) → EQ
new_ltEs5(vyw591, vyw601, ty_Char) → new_ltEs10(vyw591, vyw601)
new_lt11(vyw3, vyw40, h, ba, bb) → new_esEs12(new_compare11(vyw3, vyw40, h, ba, bb))
new_esEs36(vyw301, vyw4001, app(app(app(ty_@3, fbb), fbc), fbd)) → new_esEs17(vyw301, vyw4001, fbb, fbc, fbd)
new_esEs5(vyw31, vyw401, app(ty_Ratio, chh)) → new_esEs16(vyw31, vyw401, chh)
new_ltEs24(vyw84, vyw85, ty_Float) → new_ltEs14(vyw84, vyw85)
new_esEs6(vyw32, vyw402, app(ty_Maybe, dbc)) → new_esEs18(vyw32, vyw402, dbc)
new_ltEs5(vyw591, vyw601, ty_@0) → new_ltEs17(vyw591, vyw601)
new_ltEs5(vyw591, vyw601, ty_Int) → new_ltEs13(vyw591, vyw601)
new_ltEs9(Just(vyw590), Just(vyw600), app(app(ty_Either, bbg), bbh)) → new_ltEs12(vyw590, vyw600, bbg, bbh)
new_esEs29(vyw590, vyw600, ty_Float) → new_esEs24(vyw590, vyw600)
new_lt19(vyw113, vyw115, ty_Ordering) → new_lt8(vyw113, vyw115)
new_ltEs12(Right(vyw590), Right(vyw600), bfh, ty_Double) → new_ltEs11(vyw590, vyw600)
new_esEs39(vyw301, vyw4001, app(ty_Maybe, fee)) → new_esEs18(vyw301, vyw4001, fee)
new_compare15(vyw3, vyw40) → new_primCmpInt(vyw3, vyw40)
new_compare8(vyw30, vyw400, app(ty_Maybe, bhg)) → new_compare12(vyw30, vyw400, bhg)
new_ltEs12(Left(vyw590), Left(vyw600), ty_Float, bfa) → new_ltEs14(vyw590, vyw600)
new_esEs36(vyw301, vyw4001, app(ty_[], fae)) → new_esEs25(vyw301, vyw4001, fae)
new_lt23(vyw100, vyw103, ty_Float) → new_lt14(vyw100, vyw103)
new_compare116(vyw153, vyw154, False, efe, eff) → GT
new_esEs6(vyw32, vyw402, ty_Integer) → new_esEs27(vyw32, vyw402)
new_ltEs21(vyw102, vyw105, app(app(ty_@2, ca), cb)) → new_ltEs4(vyw102, vyw105, ca, cb)
new_ltEs22(vyw77, vyw78, ty_Bool) → new_ltEs15(vyw77, vyw78)
new_esEs38(vyw300, vyw4000, ty_Bool) → new_esEs13(vyw300, vyw4000)
new_lt9(vyw590, vyw600, app(app(app(ty_@3, bdd), bde), bdf)) → new_lt11(vyw590, vyw600, bdd, bde, bdf)
new_esEs9(vyw31, vyw401, ty_Ordering) → new_esEs15(vyw31, vyw401)
new_esEs22(Right(vyw300), Right(vyw4000), che, ty_Ordering) → new_esEs15(vyw300, vyw4000)
new_esEs31(vyw100, vyw103, ty_@0) → new_esEs26(vyw100, vyw103)
new_ltEs5(vyw591, vyw601, ty_Bool) → new_ltEs15(vyw591, vyw601)
new_esEs11(vyw30, vyw400, ty_Integer) → new_esEs27(vyw30, vyw400)
new_ltEs21(vyw102, vyw105, app(app(ty_Either, cc), cd)) → new_ltEs12(vyw102, vyw105, cc, cd)
new_esEs9(vyw31, vyw401, ty_Integer) → new_esEs27(vyw31, vyw401)
new_ltEs12(Right(vyw590), Right(vyw600), bfh, ty_Int) → new_ltEs13(vyw590, vyw600)
new_esEs10(vyw30, vyw400, ty_Double) → new_esEs20(vyw30, vyw400)
new_ltEs22(vyw77, vyw78, ty_Float) → new_ltEs14(vyw77, vyw78)
new_ltEs9(Just(vyw590), Just(vyw600), ty_Double) → new_ltEs11(vyw590, vyw600)
new_ltEs20(vyw592, vyw602, app(ty_Ratio, dha)) → new_ltEs7(vyw592, vyw602, dha)
new_compare12(Just(vyw30), Just(vyw400), cae) → new_compare26(vyw30, vyw400, new_esEs7(vyw30, vyw400, cae), cae)
new_esEs8(vyw30, vyw400, ty_Bool) → new_esEs13(vyw30, vyw400)
new_esEs7(vyw30, vyw400, app(ty_[], ecb)) → new_esEs25(vyw30, vyw400, ecb)
new_pePe(False, vyw191) → vyw191
new_lt13(vyw3, vyw40) → new_esEs12(new_compare13(vyw3, vyw40))
new_esEs38(vyw300, vyw4000, ty_@0) → new_esEs26(vyw300, vyw4000)
new_ltEs15(True, True) → True
new_compare25(vyw113, vyw114, vyw115, vyw116, True, cah, cce) → EQ
new_esEs37(vyw302, vyw4002, app(ty_Ratio, fbh)) → new_esEs16(vyw302, vyw4002, fbh)
new_esEs38(vyw300, vyw4000, app(ty_[], fda)) → new_esEs25(vyw300, vyw4000, fda)
new_esEs8(vyw30, vyw400, app(ty_[], dce)) → new_esEs25(vyw30, vyw400, dce)
new_ltEs19(vyw114, vyw116, app(app(ty_@2, cbe), cbf)) → new_ltEs4(vyw114, vyw116, cbe, cbf)
new_ltEs23(vyw59, vyw60, app(app(app(ty_@3, fb), fc), ha)) → new_ltEs8(vyw59, vyw60, fb, fc, ha)
new_esEs7(vyw30, vyw400, ty_@0) → new_esEs26(vyw30, vyw400)
new_esEs9(vyw31, vyw401, app(app(ty_Either, ebh), eca)) → new_esEs22(vyw31, vyw401, ebh, eca)
new_compare12(Nothing, Nothing, cae) → EQ
new_ltEs12(Left(vyw590), Left(vyw600), ty_Integer, bfa) → new_ltEs18(vyw590, vyw600)
new_esEs35(vyw300, vyw4000, ty_Char) → new_esEs19(vyw300, vyw4000)
new_lt19(vyw113, vyw115, app(ty_[], cdc)) → new_lt16(vyw113, vyw115, cdc)
new_esEs25([], [], cge) → True
new_esEs5(vyw31, vyw401, ty_Bool) → new_esEs13(vyw31, vyw401)
new_ltEs15(False, True) → True
new_ltEs12(Left(vyw590), Left(vyw600), ty_@0, bfa) → new_ltEs17(vyw590, vyw600)
new_esEs37(vyw302, vyw4002, ty_@0) → new_esEs26(vyw302, vyw4002)
new_esEs39(vyw301, vyw4001, ty_@0) → new_esEs26(vyw301, vyw4001)
new_ltEs5(vyw591, vyw601, app(app(ty_@2, bcg), bch)) → new_ltEs4(vyw591, vyw601, bcg, bch)
new_esEs31(vyw100, vyw103, ty_Char) → new_esEs19(vyw100, vyw103)
new_esEs22(Left(vyw300), Left(vyw4000), app(app(ty_@2, def), deg), chf) → new_esEs21(vyw300, vyw4000, def, deg)
new_lt9(vyw590, vyw600, ty_Double) → new_lt5(vyw590, vyw600)
new_esEs31(vyw100, vyw103, app(app(ty_Either, eg), eh)) → new_esEs22(vyw100, vyw103, eg, eh)
new_esEs30(vyw591, vyw601, app(ty_Maybe, hb)) → new_esEs18(vyw591, vyw601, hb)
new_ltEs23(vyw59, vyw60, ty_Float) → new_ltEs14(vyw59, vyw60)
new_compare112(vyw180, vyw181, vyw182, vyw183, True, vyw185, dcc, dcd) → new_compare110(vyw180, vyw181, vyw182, vyw183, True, dcc, dcd)
new_ltEs6(GT, EQ) → False
new_esEs35(vyw300, vyw4000, app(ty_[], ehc)) → new_esEs25(vyw300, vyw4000, ehc)
new_esEs35(vyw300, vyw4000, ty_Bool) → new_esEs13(vyw300, vyw4000)
new_esEs15(EQ, LT) → False
new_esEs15(LT, EQ) → False
new_esEs4(vyw30, vyw400, ty_Char) → new_esEs19(vyw30, vyw400)
new_ltEs21(vyw102, vyw105, app(app(app(ty_@3, be), bf), bg)) → new_ltEs8(vyw102, vyw105, be, bf, bg)
new_esEs9(vyw31, vyw401, app(ty_Ratio, eba)) → new_esEs16(vyw31, vyw401, eba)
new_esEs31(vyw100, vyw103, app(app(app(ty_@3, ea), eb), ec)) → new_esEs17(vyw100, vyw103, ea, eb, ec)
new_esEs39(vyw301, vyw4001, ty_Float) → new_esEs24(vyw301, vyw4001)
new_esEs22(Left(vyw300), Left(vyw4000), ty_Double, chf) → new_esEs20(vyw300, vyw4000)
new_esEs12(GT) → False
new_esEs28(vyw113, vyw115, app(ty_Ratio, dea)) → new_esEs16(vyw113, vyw115, dea)
new_ltEs24(vyw84, vyw85, app(app(ty_Either, cfg), cfh)) → new_ltEs12(vyw84, vyw85, cfg, cfh)
new_esEs31(vyw100, vyw103, app(ty_Maybe, ed)) → new_esEs18(vyw100, vyw103, ed)
new_esEs30(vyw591, vyw601, app(app(app(ty_@3, gf), gg), gh)) → new_esEs17(vyw591, vyw601, gf, gg, gh)
new_esEs32(vyw101, vyw104, ty_Double) → new_esEs20(vyw101, vyw104)
new_esEs12(LT) → True
new_ltEs15(False, False) → True
new_esEs32(vyw101, vyw104, app(app(ty_@2, dd), de)) → new_esEs21(vyw101, vyw104, dd, de)
new_esEs31(vyw100, vyw103, app(app(ty_@2, ee), ef)) → new_esEs21(vyw100, vyw103, ee, ef)
new_lt20(vyw591, vyw601, app(app(ty_Either, he), hf)) → new_lt7(vyw591, vyw601, he, hf)
new_esEs35(vyw300, vyw4000, app(app(ty_Either, fac), fad)) → new_esEs22(vyw300, vyw4000, fac, fad)
new_esEs18(Nothing, Nothing, cgg) → True
new_esEs28(vyw113, vyw115, app(app(ty_Either, cda), cdb)) → new_esEs22(vyw113, vyw115, cda, cdb)
new_lt22(vyw101, vyw104, app(app(app(ty_@3, cf), cg), da)) → new_lt11(vyw101, vyw104, cf, cg, da)
new_ltEs20(vyw592, vyw602, app(app(ty_@2, ga), gb)) → new_ltEs4(vyw592, vyw602, ga, gb)
new_primCmpNat0(Zero, Succ(vyw4000)) → LT
new_compare115(vyw136, vyw137, False, eea) → GT
new_esEs18(Just(vyw300), Just(vyw4000), ty_Char) → new_esEs19(vyw300, vyw4000)
new_ltEs12(Right(vyw590), Right(vyw600), bfh, ty_Char) → new_ltEs10(vyw590, vyw600)
new_esEs38(vyw300, vyw4000, ty_Int) → new_esEs23(vyw300, vyw4000)
new_esEs37(vyw302, vyw4002, app(ty_Maybe, fca)) → new_esEs18(vyw302, vyw4002, fca)
new_esEs22(Right(vyw300), Right(vyw4000), che, ty_Float) → new_esEs24(vyw300, vyw4000)
new_esEs5(vyw31, vyw401, ty_Int) → new_esEs23(vyw31, vyw401)
new_primCompAux0(vyw30, vyw400, vyw39, bhc) → new_primCompAux00(vyw39, new_compare8(vyw30, vyw400, bhc))
new_ltEs21(vyw102, vyw105, ty_Bool) → new_ltEs15(vyw102, vyw105)
new_esEs15(GT, EQ) → False
new_esEs15(EQ, GT) → False
new_esEs36(vyw301, vyw4001, app(ty_Ratio, faf)) → new_esEs16(vyw301, vyw4001, faf)
new_esEs36(vyw301, vyw4001, app(app(ty_@2, fah), fba)) → new_esEs21(vyw301, vyw4001, fah, fba)
new_ltEs4(@2(vyw590, vyw591), @2(vyw600, vyw601), bcb, bdg) → new_pePe(new_lt9(vyw590, vyw600, bcb), new_asAs(new_esEs14(vyw590, vyw600, bcb), new_ltEs5(vyw591, vyw601, bdg)))
new_esEs36(vyw301, vyw4001, ty_@0) → new_esEs26(vyw301, vyw4001)
new_esEs5(vyw31, vyw401, ty_Ordering) → new_esEs15(vyw31, vyw401)
new_lt18(vyw3, vyw40) → new_esEs12(new_compare19(vyw3, vyw40))
new_ltEs12(Left(vyw590), Left(vyw600), app(app(app(ty_@3, bef), beg), beh), bfa) → new_ltEs8(vyw590, vyw600, bef, beg, beh)
new_lt23(vyw100, vyw103, ty_Ordering) → new_lt8(vyw100, vyw103)
new_ltEs21(vyw102, vyw105, app(ty_[], ce)) → new_ltEs16(vyw102, vyw105, ce)
new_lt17(vyw3, vyw40) → new_esEs12(new_compare18(vyw3, vyw40))
new_compare115(vyw136, vyw137, True, eea) → LT
new_esEs8(vyw30, vyw400, app(app(ty_Either, dde), ddf)) → new_esEs22(vyw30, vyw400, dde, ddf)
new_esEs29(vyw590, vyw600, ty_Bool) → new_esEs13(vyw590, vyw600)
new_ltEs20(vyw592, vyw602, app(ty_Maybe, fh)) → new_ltEs9(vyw592, vyw602, fh)
new_esEs35(vyw300, vyw4000, ty_Double) → new_esEs20(vyw300, vyw4000)
new_esEs39(vyw301, vyw4001, app(app(app(ty_@3, feh), ffa), ffb)) → new_esEs17(vyw301, vyw4001, feh, ffa, ffb)
new_lt21(vyw590, vyw600, ty_Bool) → new_lt15(vyw590, vyw600)
new_ltEs16(vyw59, vyw60, bhb) → new_fsEs(new_compare1(vyw59, vyw60, bhb))
new_pePe(True, vyw191) → True
new_primEqNat0(Zero, Zero) → True
new_ltEs19(vyw114, vyw116, ty_Int) → new_ltEs13(vyw114, vyw116)
new_esEs28(vyw113, vyw115, ty_Int) → new_esEs23(vyw113, vyw115)
new_ltEs24(vyw84, vyw85, app(app(ty_@2, cfe), cff)) → new_ltEs4(vyw84, vyw85, cfe, cff)
new_ltEs19(vyw114, vyw116, ty_Integer) → new_ltEs18(vyw114, vyw116)
new_compare9(LT, GT) → LT
new_esEs10(vyw30, vyw400, ty_Bool) → new_esEs13(vyw30, vyw400)
new_esEs40(vyw300, vyw4000, ty_@0) → new_esEs26(vyw300, vyw4000)
new_esEs22(Left(vyw300), Left(vyw4000), app(ty_Ratio, ded), chf) → new_esEs16(vyw300, vyw4000, ded)
new_esEs10(vyw30, vyw400, app(app(app(ty_@3, eeh), efa), efb)) → new_esEs17(vyw30, vyw400, eeh, efa, efb)
new_lt19(vyw113, vyw115, ty_Double) → new_lt5(vyw113, vyw115)
new_compare111(vyw143, vyw144, False, ddg, ddh) → GT
new_compare9(EQ, LT) → GT
new_esEs18(Just(vyw300), Just(vyw4000), ty_Ordering) → new_esEs15(vyw300, vyw4000)
new_compare8(vyw30, vyw400, app(app(app(ty_@3, bhd), bhe), bhf)) → new_compare11(vyw30, vyw400, bhd, bhe, bhf)
new_esEs22(Left(vyw300), Left(vyw4000), app(app(app(ty_@3, deh), dfa), dfb), chf) → new_esEs17(vyw300, vyw4000, deh, dfa, dfb)
new_esEs12(EQ) → False
new_esEs6(vyw32, vyw402, app(ty_Ratio, dbb)) → new_esEs16(vyw32, vyw402, dbb)
new_ltEs21(vyw102, vyw105, app(ty_Maybe, bh)) → new_ltEs9(vyw102, vyw105, bh)
new_ltEs23(vyw59, vyw60, app(ty_Ratio, eeb)) → new_ltEs7(vyw59, vyw60, eeb)
new_compare8(vyw30, vyw400, ty_Int) → new_compare15(vyw30, vyw400)
new_ltEs24(vyw84, vyw85, ty_Char) → new_ltEs10(vyw84, vyw85)
new_esEs32(vyw101, vyw104, app(app(app(ty_@3, cf), cg), da)) → new_esEs17(vyw101, vyw104, cf, cg, da)
new_ltEs5(vyw591, vyw601, app(app(ty_Either, bda), bdb)) → new_ltEs12(vyw591, vyw601, bda, bdb)
new_esEs9(vyw31, vyw401, app(app(app(ty_@3, ebe), ebf), ebg)) → new_esEs17(vyw31, vyw401, ebe, ebf, ebg)
new_ltEs22(vyw77, vyw78, ty_@0) → new_ltEs17(vyw77, vyw78)
new_ltEs17(vyw59, vyw60) → new_fsEs(new_compare18(vyw59, vyw60))
new_ltEs5(vyw591, vyw601, ty_Double) → new_ltEs11(vyw591, vyw601)
new_ltEs19(vyw114, vyw116, ty_Ordering) → new_ltEs6(vyw114, vyw116)
new_sr(vyw400, vyw31) → new_primMulInt(vyw400, vyw31)
new_ltEs5(vyw591, vyw601, app(ty_Ratio, cgd)) → new_ltEs7(vyw591, vyw601, cgd)
new_esEs30(vyw591, vyw601, ty_Char) → new_esEs19(vyw591, vyw601)
new_esEs4(vyw30, vyw400, ty_Bool) → new_esEs13(vyw30, vyw400)
new_compare9(EQ, EQ) → EQ
new_esEs36(vyw301, vyw4001, ty_Char) → new_esEs19(vyw301, vyw4001)
new_esEs6(vyw32, vyw402, app(ty_[], dba)) → new_esEs25(vyw32, vyw402, dba)
new_esEs35(vyw300, vyw4000, app(app(app(ty_@3, ehh), faa), fab)) → new_esEs17(vyw300, vyw4000, ehh, faa, fab)
new_ltEs19(vyw114, vyw116, ty_Char) → new_ltEs10(vyw114, vyw116)
new_esEs7(vyw30, vyw400, ty_Bool) → new_esEs13(vyw30, vyw400)
new_ltEs6(EQ, GT) → True
new_primPlusNat0(Succ(vyw1930), vyw3100) → Succ(Succ(new_primPlusNat1(vyw1930, vyw3100)))
new_lt4(vyw3, vyw40, caf, cag) → new_esEs12(new_compare6(vyw3, vyw40, caf, cag))
new_compare12(Nothing, Just(vyw400), cae) → LT
new_lt19(vyw113, vyw115, app(app(app(ty_@3, ccb), ccc), ccd)) → new_lt11(vyw113, vyw115, ccb, ccc, ccd)
new_lt22(vyw101, vyw104, app(ty_[], dh)) → new_lt16(vyw101, vyw104, dh)
new_ltEs19(vyw114, vyw116, ty_Bool) → new_ltEs15(vyw114, vyw116)
new_esEs39(vyw301, vyw4001, ty_Bool) → new_esEs13(vyw301, vyw4001)
new_esEs11(vyw30, vyw400, app(ty_Maybe, egc)) → new_esEs18(vyw30, vyw400, egc)
new_esEs6(vyw32, vyw402, ty_Bool) → new_esEs13(vyw32, vyw402)
new_ltEs19(vyw114, vyw116, app(ty_Maybe, cbd)) → new_ltEs9(vyw114, vyw116, cbd)
new_ltEs24(vyw84, vyw85, ty_@0) → new_ltEs17(vyw84, vyw85)
new_esEs22(Right(vyw300), Right(vyw4000), che, ty_Int) → new_esEs23(vyw300, vyw4000)
new_ltEs12(Left(vyw590), Left(vyw600), ty_Ordering, bfa) → new_ltEs6(vyw590, vyw600)
new_lt21(vyw590, vyw600, app(app(app(ty_@3, hh), baa), bab)) → new_lt11(vyw590, vyw600, hh, baa, bab)
new_lt21(vyw590, vyw600, app(app(ty_Either, baf), bag)) → new_lt7(vyw590, vyw600, baf, bag)
new_lt21(vyw590, vyw600, ty_Ordering) → new_lt8(vyw590, vyw600)
new_esEs6(vyw32, vyw402, ty_Ordering) → new_esEs15(vyw32, vyw402)
new_esEs5(vyw31, vyw401, ty_Integer) → new_esEs27(vyw31, vyw401)
new_lt21(vyw590, vyw600, app(ty_Ratio, dgg)) → new_lt10(vyw590, vyw600, dgg)
new_esEs14(vyw590, vyw600, ty_Int) → new_esEs23(vyw590, vyw600)
new_primEqInt(Neg(Succ(vyw3000)), Neg(Succ(vyw40000))) → new_primEqNat0(vyw3000, vyw40000)
new_esEs40(vyw300, vyw4000, app(app(app(ty_@3, fge), fgf), fgg)) → new_esEs17(vyw300, vyw4000, fge, fgf, fgg)
new_lt19(vyw113, vyw115, ty_Char) → new_lt13(vyw113, vyw115)
new_lt21(vyw590, vyw600, ty_Int) → new_lt6(vyw590, vyw600)
new_lt19(vyw113, vyw115, app(app(ty_@2, ccg), cch)) → new_lt4(vyw113, vyw115, ccg, cch)
new_esEs40(vyw300, vyw4000, ty_Int) → new_esEs23(vyw300, vyw4000)
new_ltEs22(vyw77, vyw78, app(ty_Ratio, edh)) → new_ltEs7(vyw77, vyw78, edh)
new_esEs39(vyw301, vyw4001, ty_Double) → new_esEs20(vyw301, vyw4001)
new_primPlusNat1(Zero, Succ(vyw31000)) → Succ(vyw31000)
new_primPlusNat1(Succ(vyw19300), Zero) → Succ(vyw19300)
new_esEs29(vyw590, vyw600, app(ty_Maybe, bac)) → new_esEs18(vyw590, vyw600, bac)
new_esEs7(vyw30, vyw400, ty_Char) → new_esEs19(vyw30, vyw400)
new_esEs22(Right(vyw300), Right(vyw4000), che, ty_Double) → new_esEs20(vyw300, vyw4000)
new_esEs5(vyw31, vyw401, app(ty_Maybe, daa)) → new_esEs18(vyw31, vyw401, daa)
new_ltEs22(vyw77, vyw78, ty_Integer) → new_ltEs18(vyw77, vyw78)
new_esEs36(vyw301, vyw4001, ty_Int) → new_esEs23(vyw301, vyw4001)
new_esEs22(Left(vyw300), Left(vyw4000), ty_Integer, chf) → new_esEs27(vyw300, vyw4000)
new_ltEs9(Just(vyw590), Just(vyw600), app(app(ty_@2, bbe), bbf)) → new_ltEs4(vyw590, vyw600, bbe, bbf)
new_esEs6(vyw32, vyw402, app(app(ty_@2, dbd), dbe)) → new_esEs21(vyw32, vyw402, dbd, dbe)
new_compare17(False, False) → EQ
new_ltEs5(vyw591, vyw601, app(ty_[], bdc)) → new_ltEs16(vyw591, vyw601, bdc)
new_esEs6(vyw32, vyw402, ty_Double) → new_esEs20(vyw32, vyw402)
new_lt22(vyw101, vyw104, app(app(ty_@2, dd), de)) → new_lt4(vyw101, vyw104, dd, de)
new_esEs20(Double(vyw300, vyw301), Double(vyw4000, vyw4001)) → new_esEs23(new_sr(vyw300, vyw4000), new_sr(vyw301, vyw4001))
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_fsEs(vyw192) → new_not(new_esEs15(vyw192, GT))
new_lt22(vyw101, vyw104, app(ty_Maybe, dc)) → new_lt12(vyw101, vyw104, dc)
new_lt9(vyw590, vyw600, ty_Float) → new_lt14(vyw590, vyw600)
new_ltEs6(EQ, EQ) → True
new_esEs29(vyw590, vyw600, ty_@0) → new_esEs26(vyw590, vyw600)
new_ltEs21(vyw102, vyw105, app(ty_Ratio, eag)) → new_ltEs7(vyw102, vyw105, eag)
new_primEqInt(Neg(Succ(vyw3000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(vyw40000))) → False
new_esEs8(vyw30, vyw400, ty_Double) → new_esEs20(vyw30, vyw400)
new_esEs18(Just(vyw300), Just(vyw4000), app(app(ty_@2, dhe), dhf)) → new_esEs21(vyw300, vyw4000, dhe, dhf)
new_ltEs24(vyw84, vyw85, app(ty_[], cga)) → new_ltEs16(vyw84, vyw85, cga)
new_compare11(@3(vyw30, vyw31, vyw32), @3(vyw400, vyw401, vyw402), h, ba, bb) → new_compare24(vyw30, vyw31, vyw32, vyw400, vyw401, vyw402, new_asAs(new_esEs4(vyw30, vyw400, h), new_asAs(new_esEs5(vyw31, vyw401, ba), new_esEs6(vyw32, vyw402, bb))), h, ba, bb)
new_esEs9(vyw31, vyw401, app(app(ty_@2, ebc), ebd)) → new_esEs21(vyw31, vyw401, ebc, ebd)
new_ltEs6(GT, GT) → True
new_ltEs12(Left(vyw590), Left(vyw600), app(ty_Ratio, efg), bfa) → new_ltEs7(vyw590, vyw600, efg)
new_lt21(vyw590, vyw600, ty_Float) → new_lt14(vyw590, vyw600)
new_lt20(vyw591, vyw601, ty_Ordering) → new_lt8(vyw591, vyw601)
new_compare112(vyw180, vyw181, vyw182, vyw183, False, vyw185, dcc, dcd) → new_compare110(vyw180, vyw181, vyw182, vyw183, vyw185, dcc, dcd)
new_esEs6(vyw32, vyw402, ty_Float) → new_esEs24(vyw32, vyw402)
new_ltEs24(vyw84, vyw85, ty_Int) → new_ltEs13(vyw84, vyw85)
new_compare24(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, False, bc, bd, db) → new_compare113(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, new_lt23(vyw100, vyw103, bc), new_asAs(new_esEs31(vyw100, vyw103, bc), new_pePe(new_lt22(vyw101, vyw104, bd), new_asAs(new_esEs32(vyw101, vyw104, bd), new_ltEs21(vyw102, vyw105, db)))), bc, bd, db)
new_ltEs23(vyw59, vyw60, ty_Char) → new_ltEs10(vyw59, vyw60)
new_esEs11(vyw30, vyw400, ty_@0) → new_esEs26(vyw30, vyw400)
new_esEs23(vyw30, vyw400) → new_primEqInt(vyw30, vyw400)
new_lt9(vyw590, vyw600, app(ty_Ratio, cgc)) → new_lt10(vyw590, vyw600, cgc)
new_esEs28(vyw113, vyw115, app(app(ty_@2, ccg), cch)) → new_esEs21(vyw113, vyw115, ccg, cch)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_ltEs13(vyw59, vyw60) → new_fsEs(new_compare15(vyw59, vyw60))
new_ltEs12(Right(vyw590), Right(vyw600), bfh, app(ty_[], bha)) → new_ltEs16(vyw590, vyw600, bha)
new_esEs8(vyw30, vyw400, ty_Char) → new_esEs19(vyw30, vyw400)
new_lt21(vyw590, vyw600, ty_Char) → new_lt13(vyw590, vyw600)
new_lt19(vyw113, vyw115, ty_Int) → new_lt6(vyw113, vyw115)
new_esEs7(vyw30, vyw400, ty_Float) → new_esEs24(vyw30, vyw400)
new_primCmpNat0(Succ(vyw300), Succ(vyw4000)) → new_primCmpNat0(vyw300, vyw4000)
new_esEs38(vyw300, vyw4000, ty_Float) → new_esEs24(vyw300, vyw4000)
new_ltEs12(Left(vyw590), Left(vyw600), ty_Int, bfa) → new_ltEs13(vyw590, vyw600)
new_ltEs12(Left(vyw590), Left(vyw600), app(ty_[], bfg), bfa) → new_ltEs16(vyw590, vyw600, bfg)
new_lt23(vyw100, vyw103, ty_@0) → new_lt17(vyw100, vyw103)
new_esEs38(vyw300, vyw4000, app(app(ty_Either, fea), feb)) → new_esEs22(vyw300, vyw4000, fea, feb)
new_primEqInt(Pos(Succ(vyw3000)), Pos(Succ(vyw40000))) → new_primEqNat0(vyw3000, vyw40000)
new_compare27(vyw77, vyw78, True, edg, cea) → EQ
new_ltEs20(vyw592, vyw602, ty_Float) → new_ltEs14(vyw592, vyw602)
new_ltEs9(Just(vyw590), Just(vyw600), ty_@0) → new_ltEs17(vyw590, vyw600)
new_esEs40(vyw300, vyw4000, ty_Bool) → new_esEs13(vyw300, vyw4000)
new_ltEs22(vyw77, vyw78, app(app(ty_Either, cee), cef)) → new_ltEs12(vyw77, vyw78, cee, cef)
new_esEs36(vyw301, vyw4001, ty_Float) → new_esEs24(vyw301, vyw4001)
new_esEs35(vyw300, vyw4000, app(ty_Maybe, ehe)) → new_esEs18(vyw300, vyw4000, ehe)
new_esEs37(vyw302, vyw4002, ty_Bool) → new_esEs13(vyw302, vyw4002)
new_esEs28(vyw113, vyw115, ty_Ordering) → new_esEs15(vyw113, vyw115)
new_lt9(vyw590, vyw600, app(ty_[], bee)) → new_lt16(vyw590, vyw600, bee)
new_ltEs12(Right(vyw590), Right(vyw600), bfh, app(app(ty_@2, bge), bgf)) → new_ltEs4(vyw590, vyw600, bge, bgf)
new_esEs22(Left(vyw300), Left(vyw4000), ty_Bool, chf) → new_esEs13(vyw300, vyw4000)
new_primEqNat0(Succ(vyw3000), Succ(vyw40000)) → new_primEqNat0(vyw3000, vyw40000)
new_compare10(:%(vyw30, vyw31), :%(vyw400, vyw401), ty_Int) → new_compare15(new_sr(vyw30, vyw401), new_sr(vyw400, vyw31))
new_esEs38(vyw300, vyw4000, ty_Ordering) → new_esEs15(vyw300, vyw4000)
new_ltEs23(vyw59, vyw60, ty_Double) → new_ltEs11(vyw59, vyw60)
new_esEs40(vyw300, vyw4000, app(ty_Ratio, fga)) → new_esEs16(vyw300, vyw4000, fga)
new_esEs29(vyw590, vyw600, app(app(ty_@2, bad), bae)) → new_esEs21(vyw590, vyw600, bad, bae)
new_ltEs22(vyw77, vyw78, app(app(ty_@2, cec), ced)) → new_ltEs4(vyw77, vyw78, cec, ced)
new_compare17(True, True) → EQ
new_esEs14(vyw590, vyw600, app(app(ty_Either, bec), bed)) → new_esEs22(vyw590, vyw600, bec, bed)
new_esEs39(vyw301, vyw4001, app(ty_[], fec)) → new_esEs25(vyw301, vyw4001, fec)
new_lt21(vyw590, vyw600, app(ty_Maybe, bac)) → new_lt12(vyw590, vyw600, bac)
new_esEs10(vyw30, vyw400, app(ty_Ratio, eed)) → new_esEs16(vyw30, vyw400, eed)
new_ltEs24(vyw84, vyw85, app(app(app(ty_@3, cfa), cfb), cfc)) → new_ltEs8(vyw84, vyw85, cfa, cfb, cfc)
new_lt22(vyw101, vyw104, ty_Char) → new_lt13(vyw101, vyw104)
new_esEs22(Left(vyw300), Left(vyw4000), app(ty_[], dec), chf) → new_esEs25(vyw300, vyw4000, dec)
new_esEs7(vyw30, vyw400, ty_Integer) → new_esEs27(vyw30, vyw400)
new_compare7(Double(vyw30, vyw31), Double(vyw400, vyw401)) → new_compare15(new_sr(vyw30, vyw400), new_sr(vyw31, vyw401))
new_esEs14(vyw590, vyw600, ty_Bool) → new_esEs13(vyw590, vyw600)
new_lt5(vyw3, vyw40) → new_esEs12(new_compare7(vyw3, vyw40))
new_primCompAux00(vyw90, LT) → LT
new_ltEs9(Just(vyw590), Just(vyw600), app(ty_Ratio, ffg)) → new_ltEs7(vyw590, vyw600, ffg)
new_esEs9(vyw31, vyw401, app(ty_Maybe, ebb)) → new_esEs18(vyw31, vyw401, ebb)
new_primCmpInt(Neg(Succ(vyw300)), Neg(vyw400)) → new_primCmpNat0(vyw400, Succ(vyw300))
new_lt22(vyw101, vyw104, ty_Integer) → new_lt18(vyw101, vyw104)
new_esEs30(vyw591, vyw601, ty_Int) → new_esEs23(vyw591, vyw601)
new_esEs36(vyw301, vyw4001, app(app(ty_Either, fbe), fbf)) → new_esEs22(vyw301, vyw4001, fbe, fbf)
new_lt19(vyw113, vyw115, app(app(ty_Either, cda), cdb)) → new_lt7(vyw113, vyw115, cda, cdb)
new_esEs18(Just(vyw300), Just(vyw4000), app(ty_Maybe, dhd)) → new_esEs18(vyw300, vyw4000, dhd)
new_esEs18(Just(vyw300), Just(vyw4000), app(ty_[], dhb)) → new_esEs25(vyw300, vyw4000, dhb)
new_compare1(:(vyw30, vyw31), :(vyw400, vyw401), bhc) → new_primCompAux0(vyw30, vyw400, new_compare1(vyw31, vyw401, bhc), bhc)
new_compare116(vyw153, vyw154, True, efe, eff) → LT
new_primEqInt(Pos(Succ(vyw3000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(vyw40000))) → False
new_esEs28(vyw113, vyw115, ty_@0) → new_esEs26(vyw113, vyw115)
new_ltEs9(Just(vyw590), Just(vyw600), ty_Char) → new_ltEs10(vyw590, vyw600)
new_esEs10(vyw30, vyw400, ty_Integer) → new_esEs27(vyw30, vyw400)
new_esEs30(vyw591, vyw601, ty_Float) → new_esEs24(vyw591, vyw601)
new_ltEs9(Just(vyw590), Just(vyw600), ty_Bool) → new_ltEs15(vyw590, vyw600)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(vyw300), Zero) → GT
new_lt20(vyw591, vyw601, app(app(ty_@2, hc), hd)) → new_lt4(vyw591, vyw601, hc, hd)
new_esEs37(vyw302, vyw4002, app(app(ty_@2, fcb), fcc)) → new_esEs21(vyw302, vyw4002, fcb, fcc)
new_ltEs9(Just(vyw590), Just(vyw600), app(ty_Maybe, bbd)) → new_ltEs9(vyw590, vyw600, bbd)
new_esEs31(vyw100, vyw103, app(ty_Ratio, eae)) → new_esEs16(vyw100, vyw103, eae)
new_primCmpInt(Neg(Zero), Pos(Succ(vyw4000))) → LT
new_esEs39(vyw301, vyw4001, ty_Char) → new_esEs19(vyw301, vyw4001)
new_esEs10(vyw30, vyw400, ty_Float) → new_esEs24(vyw30, vyw400)
new_esEs35(vyw300, vyw4000, app(app(ty_@2, ehf), ehg)) → new_esEs21(vyw300, vyw4000, ehf, ehg)
new_esEs37(vyw302, vyw4002, ty_Float) → new_esEs24(vyw302, vyw4002)
new_ltEs9(Just(vyw590), Just(vyw600), app(ty_[], bca)) → new_ltEs16(vyw590, vyw600, bca)
new_esEs32(vyw101, vyw104, ty_Ordering) → new_esEs15(vyw101, vyw104)
new_lt20(vyw591, vyw601, ty_Char) → new_lt13(vyw591, vyw601)
new_ltEs22(vyw77, vyw78, ty_Char) → new_ltEs10(vyw77, vyw78)
new_sr0(Integer(vyw4000), Integer(vyw310)) → Integer(new_primMulInt(vyw4000, vyw310))
new_primPlusNat1(Succ(vyw19300), Succ(vyw31000)) → Succ(Succ(new_primPlusNat1(vyw19300, vyw31000)))
new_esEs5(vyw31, vyw401, ty_Double) → new_esEs20(vyw31, vyw401)
new_esEs9(vyw31, vyw401, ty_Float) → new_esEs24(vyw31, vyw401)
new_compare9(LT, EQ) → LT
new_esEs29(vyw590, vyw600, ty_Integer) → new_esEs27(vyw590, vyw600)
new_esEs37(vyw302, vyw4002, app(app(app(ty_@3, fcd), fce), fcf)) → new_esEs17(vyw302, vyw4002, fcd, fce, fcf)
new_compare28(vyw84, vyw85, True, ceh, fhb) → EQ
new_primEqInt(Pos(Succ(vyw3000)), Neg(vyw4000)) → False
new_primEqInt(Neg(Succ(vyw3000)), Pos(vyw4000)) → False
new_esEs14(vyw590, vyw600, app(ty_Ratio, cgc)) → new_esEs16(vyw590, vyw600, cgc)
new_esEs5(vyw31, vyw401, ty_@0) → new_esEs26(vyw31, vyw401)
new_esEs7(vyw30, vyw400, app(app(ty_Either, edb), edc)) → new_esEs22(vyw30, vyw400, edb, edc)
new_esEs29(vyw590, vyw600, ty_Char) → new_esEs19(vyw590, vyw600)
new_esEs28(vyw113, vyw115, ty_Double) → new_esEs20(vyw113, vyw115)
new_ltEs12(Left(vyw590), Right(vyw600), bfh, bfa) → True
new_ltEs24(vyw84, vyw85, ty_Integer) → new_ltEs18(vyw84, vyw85)
new_ltEs23(vyw59, vyw60, app(app(ty_@2, bcb), bdg)) → new_ltEs4(vyw59, vyw60, bcb, bdg)
new_esEs22(Left(vyw300), Left(vyw4000), ty_Float, chf) → new_esEs24(vyw300, vyw4000)
new_ltEs22(vyw77, vyw78, app(app(app(ty_@3, cdf), cdg), cdh)) → new_ltEs8(vyw77, vyw78, cdf, cdg, cdh)
new_esEs14(vyw590, vyw600, app(app(app(ty_@3, bdd), bde), bdf)) → new_esEs17(vyw590, vyw600, bdd, bde, bdf)
new_esEs7(vyw30, vyw400, app(app(app(ty_@3, ecg), ech), eda)) → new_esEs17(vyw30, vyw400, ecg, ech, eda)
new_ltEs12(Right(vyw590), Right(vyw600), bfh, ty_@0) → new_ltEs17(vyw590, vyw600)
new_ltEs20(vyw592, vyw602, ty_Integer) → new_ltEs18(vyw592, vyw602)
new_ltEs9(Just(vyw590), Just(vyw600), ty_Int) → new_ltEs13(vyw590, vyw600)
new_primEqInt(Pos(Zero), Neg(Succ(vyw40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(vyw40000))) → False
new_esEs10(vyw30, vyw400, app(ty_[], eec)) → new_esEs25(vyw30, vyw400, eec)
new_ltEs9(Just(vyw590), Nothing, fff) → False
new_primCmpInt(Pos(Zero), Pos(Succ(vyw4000))) → new_primCmpNat0(Zero, Succ(vyw4000))
new_primCompAux00(vyw90, EQ) → vyw90
new_esEs37(vyw302, vyw4002, ty_Double) → new_esEs20(vyw302, vyw4002)
new_ltEs23(vyw59, vyw60, ty_Int) → new_ltEs13(vyw59, vyw60)
new_ltEs12(Right(vyw590), Right(vyw600), bfh, ty_Bool) → new_ltEs15(vyw590, vyw600)
new_esEs18(Just(vyw300), Just(vyw4000), ty_Integer) → new_esEs27(vyw300, vyw4000)
new_ltEs20(vyw592, vyw602, ty_Int) → new_ltEs13(vyw592, vyw602)
new_esEs10(vyw30, vyw400, ty_Char) → new_esEs19(vyw30, vyw400)
new_esEs10(vyw30, vyw400, app(app(ty_@2, eef), eeg)) → new_esEs21(vyw30, vyw400, eef, eeg)
new_ltEs22(vyw77, vyw78, ty_Int) → new_ltEs13(vyw77, vyw78)
new_esEs29(vyw590, vyw600, ty_Ordering) → new_esEs15(vyw590, vyw600)
new_esEs14(vyw590, vyw600, app(app(ty_@2, bea), beb)) → new_esEs21(vyw590, vyw600, bea, beb)
new_compare26(vyw59, vyw60, True, ffe) → EQ
new_esEs35(vyw300, vyw4000, ty_Integer) → new_esEs27(vyw300, vyw4000)
new_lt20(vyw591, vyw601, ty_Double) → new_lt5(vyw591, vyw601)
new_esEs22(Right(vyw300), Right(vyw4000), che, app(app(app(ty_@3, dgb), dgc), dgd)) → new_esEs17(vyw300, vyw4000, dgb, dgc, dgd)
new_esEs35(vyw300, vyw4000, ty_Int) → new_esEs23(vyw300, vyw4000)
new_lt23(vyw100, vyw103, ty_Int) → new_lt6(vyw100, vyw103)
new_not(False) → True
new_esEs30(vyw591, vyw601, app(ty_Ratio, dgh)) → new_esEs16(vyw591, vyw601, dgh)
new_esEs8(vyw30, vyw400, ty_Float) → new_esEs24(vyw30, vyw400)
new_esEs36(vyw301, vyw4001, ty_Double) → new_esEs20(vyw301, vyw4001)
new_lt20(vyw591, vyw601, ty_Bool) → new_lt15(vyw591, vyw601)
new_esEs30(vyw591, vyw601, ty_Integer) → new_esEs27(vyw591, vyw601)
new_primPlusNat0(Zero, vyw3100) → Succ(vyw3100)
new_esEs9(vyw31, vyw401, ty_Bool) → new_esEs13(vyw31, vyw401)
new_primCmpInt(Pos(Succ(vyw300)), Pos(vyw400)) → new_primCmpNat0(Succ(vyw300), vyw400)
new_ltEs19(vyw114, vyw116, app(app(ty_Either, cbg), cbh)) → new_ltEs12(vyw114, vyw116, cbg, cbh)
new_ltEs9(Nothing, Nothing, fff) → True
new_ltEs12(Right(vyw590), Right(vyw600), bfh, app(app(ty_Either, bgg), bgh)) → new_ltEs12(vyw590, vyw600, bgg, bgh)
new_esEs36(vyw301, vyw4001, ty_Bool) → new_esEs13(vyw301, vyw4001)
new_esEs6(vyw32, vyw402, ty_Int) → new_esEs23(vyw32, vyw402)
new_esEs32(vyw101, vyw104, app(ty_Maybe, dc)) → new_esEs18(vyw101, vyw104, dc)
new_compare8(vyw30, vyw400, ty_Double) → new_compare7(vyw30, vyw400)
new_esEs4(vyw30, vyw400, app(app(app(ty_@3, chb), chc), chd)) → new_esEs17(vyw30, vyw400, chb, chc, chd)
new_esEs8(vyw30, vyw400, ty_Integer) → new_esEs27(vyw30, vyw400)
new_ltEs12(Right(vyw590), Left(vyw600), bfh, bfa) → False
new_esEs40(vyw300, vyw4000, ty_Double) → new_esEs20(vyw300, vyw4000)
new_lt9(vyw590, vyw600, ty_Integer) → new_lt18(vyw590, vyw600)
new_esEs16(:%(vyw300, vyw301), :%(vyw4000, vyw4001), cgf) → new_asAs(new_esEs33(vyw300, vyw4000, cgf), new_esEs34(vyw301, vyw4001, cgf))
new_esEs25(:(vyw300, vyw301), [], cge) → False
new_esEs25([], :(vyw4000, vyw4001), cge) → False
new_esEs30(vyw591, vyw601, app(app(ty_@2, hc), hd)) → new_esEs21(vyw591, vyw601, hc, hd)
new_esEs22(Left(vyw300), Left(vyw4000), app(app(ty_Either, dfc), dfd), chf) → new_esEs22(vyw300, vyw4000, dfc, dfd)
new_compare17(True, False) → GT
new_esEs29(vyw590, vyw600, ty_Int) → new_esEs23(vyw590, vyw600)
new_lt20(vyw591, vyw601, ty_Int) → new_lt6(vyw591, vyw601)
new_esEs18(Just(vyw300), Just(vyw4000), ty_Int) → new_esEs23(vyw300, vyw4000)
new_lt19(vyw113, vyw115, ty_Float) → new_lt14(vyw113, vyw115)
new_compare8(vyw30, vyw400, ty_Bool) → new_compare17(vyw30, vyw400)
new_lt22(vyw101, vyw104, ty_Float) → new_lt14(vyw101, vyw104)
new_ltEs20(vyw592, vyw602, app(app(app(ty_@3, fd), ff), fg)) → new_ltEs8(vyw592, vyw602, fd, ff, fg)
new_ltEs12(Right(vyw590), Right(vyw600), bfh, ty_Float) → new_ltEs14(vyw590, vyw600)
new_compare14(Left(vyw30), Left(vyw400), cdd, cde) → new_compare27(vyw30, vyw400, new_esEs10(vyw30, vyw400, cdd), cdd, cde)
new_esEs29(vyw590, vyw600, app(ty_[], bah)) → new_esEs25(vyw590, vyw600, bah)
new_ltEs20(vyw592, vyw602, ty_@0) → new_ltEs17(vyw592, vyw602)
new_esEs39(vyw301, vyw4001, ty_Ordering) → new_esEs15(vyw301, vyw4001)
new_lt14(vyw3, vyw40) → new_esEs12(new_compare16(vyw3, vyw40))
new_lt9(vyw590, vyw600, app(app(ty_Either, bec), bed)) → new_lt7(vyw590, vyw600, bec, bed)
new_primCmpInt(Pos(Succ(vyw300)), Neg(vyw400)) → GT
new_esEs7(vyw30, vyw400, ty_Ordering) → new_esEs15(vyw30, vyw400)
new_esEs11(vyw30, vyw400, app(app(app(ty_@3, egf), egg), egh)) → new_esEs17(vyw30, vyw400, egf, egg, egh)
new_esEs39(vyw301, vyw4001, app(ty_Ratio, fed)) → new_esEs16(vyw301, vyw4001, fed)
new_esEs18(Just(vyw300), Just(vyw4000), app(app(ty_Either, eab), eac)) → new_esEs22(vyw300, vyw4000, eab, eac)
new_ltEs19(vyw114, vyw116, app(ty_[], cca)) → new_ltEs16(vyw114, vyw116, cca)
new_esEs38(vyw300, vyw4000, ty_Integer) → new_esEs27(vyw300, vyw4000)
new_esEs22(Left(vyw300), Left(vyw4000), ty_Char, chf) → new_esEs19(vyw300, vyw4000)
new_esEs10(vyw30, vyw400, ty_@0) → new_esEs26(vyw30, vyw400)
new_primMulInt(Pos(vyw4000), Pos(vyw310)) → Pos(new_primMulNat0(vyw4000, vyw310))
new_compare19(Integer(vyw30), Integer(vyw400)) → new_primCmpInt(vyw30, vyw400)
new_esEs4(vyw30, vyw400, ty_Float) → new_esEs24(vyw30, vyw400)
new_ltEs12(Right(vyw590), Right(vyw600), bfh, ty_Ordering) → new_ltEs6(vyw590, vyw600)
new_esEs31(vyw100, vyw103, ty_Int) → new_esEs23(vyw100, vyw103)
new_ltEs12(Left(vyw590), Left(vyw600), ty_Bool, bfa) → new_ltEs15(vyw590, vyw600)
new_esEs33(vyw300, vyw4000, ty_Integer) → new_esEs27(vyw300, vyw4000)
new_ltEs23(vyw59, vyw60, app(ty_[], bhb)) → new_ltEs16(vyw59, vyw60, bhb)
new_primMulInt(Neg(vyw4000), Neg(vyw310)) → Pos(new_primMulNat0(vyw4000, vyw310))
new_compare9(GT, LT) → GT
new_compare114(vyw165, vyw166, vyw167, vyw168, vyw169, vyw170, False, edd, ede, edf) → GT
new_lt20(vyw591, vyw601, app(app(app(ty_@3, gf), gg), gh)) → new_lt11(vyw591, vyw601, gf, gg, gh)
new_esEs14(vyw590, vyw600, ty_Char) → new_esEs19(vyw590, vyw600)
new_esEs18(Just(vyw300), Just(vyw4000), app(ty_Ratio, dhc)) → new_esEs16(vyw300, vyw4000, dhc)
new_primEqNat0(Succ(vyw3000), Zero) → False
new_primEqNat0(Zero, Succ(vyw40000)) → False
new_esEs18(Just(vyw300), Just(vyw4000), ty_Float) → new_esEs24(vyw300, vyw4000)
new_esEs22(Right(vyw300), Right(vyw4000), che, app(ty_[], dfe)) → new_esEs25(vyw300, vyw4000, dfe)
new_lt23(vyw100, vyw103, app(app(ty_Either, eg), eh)) → new_lt7(vyw100, vyw103, eg, eh)
new_esEs17(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), chb, chc, chd) → new_asAs(new_esEs35(vyw300, vyw4000, chb), new_asAs(new_esEs36(vyw301, vyw4001, chc), new_esEs37(vyw302, vyw4002, chd)))
new_esEs15(GT, LT) → False
new_esEs15(LT, GT) → False
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_lt20(vyw591, vyw601, ty_@0) → new_lt17(vyw591, vyw601)
new_esEs37(vyw302, vyw4002, ty_Integer) → new_esEs27(vyw302, vyw4002)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs11(vyw30, vyw400, ty_Char) → new_esEs19(vyw30, vyw400)
new_esEs8(vyw30, vyw400, app(ty_Maybe, dcg)) → new_esEs18(vyw30, vyw400, dcg)
new_lt22(vyw101, vyw104, ty_Double) → new_lt5(vyw101, vyw104)
new_esEs15(LT, LT) → True
new_esEs4(vyw30, vyw400, app(app(ty_@2, cgh), cha)) → new_esEs21(vyw30, vyw400, cgh, cha)
new_esEs40(vyw300, vyw4000, ty_Ordering) → new_esEs15(vyw300, vyw4000)
new_esEs24(Float(vyw300, vyw301), Float(vyw4000, vyw4001)) → new_esEs23(new_sr(vyw300, vyw4000), new_sr(vyw301, vyw4001))
new_ltEs19(vyw114, vyw116, app(app(app(ty_@3, cba), cbb), cbc)) → new_ltEs8(vyw114, vyw116, cba, cbb, cbc)
new_ltEs12(Left(vyw590), Left(vyw600), app(app(ty_Either, bfe), bff), bfa) → new_ltEs12(vyw590, vyw600, bfe, bff)
new_ltEs24(vyw84, vyw85, ty_Double) → new_ltEs11(vyw84, vyw85)
new_ltEs18(vyw59, vyw60) → new_fsEs(new_compare19(vyw59, vyw60))
new_ltEs9(Just(vyw590), Just(vyw600), ty_Float) → new_ltEs14(vyw590, vyw600)
new_esEs22(Right(vyw300), Right(vyw4000), che, ty_@0) → new_esEs26(vyw300, vyw4000)
new_ltEs19(vyw114, vyw116, ty_@0) → new_ltEs17(vyw114, vyw116)
new_ltEs10(vyw59, vyw60) → new_fsEs(new_compare13(vyw59, vyw60))
new_ltEs5(vyw591, vyw601, app(ty_Maybe, bcf)) → new_ltEs9(vyw591, vyw601, bcf)
new_ltEs14(vyw59, vyw60) → new_fsEs(new_compare16(vyw59, vyw60))
new_esEs14(vyw590, vyw600, ty_Double) → new_esEs20(vyw590, vyw600)
new_esEs10(vyw30, vyw400, ty_Int) → new_esEs23(vyw30, vyw400)
new_ltEs12(Left(vyw590), Left(vyw600), app(ty_Maybe, bfb), bfa) → new_ltEs9(vyw590, vyw600, bfb)
new_lt23(vyw100, vyw103, app(ty_[], fa)) → new_lt16(vyw100, vyw103, fa)
new_esEs9(vyw31, vyw401, ty_@0) → new_esEs26(vyw31, vyw401)
new_esEs27(Integer(vyw300), Integer(vyw4000)) → new_primEqInt(vyw300, vyw4000)
new_lt22(vyw101, vyw104, app(app(ty_Either, df), dg)) → new_lt7(vyw101, vyw104, df, dg)
new_primCmpInt(Neg(Zero), Neg(Succ(vyw4000))) → new_primCmpNat0(Succ(vyw4000), Zero)
new_ltEs23(vyw59, vyw60, ty_@0) → new_ltEs17(vyw59, vyw60)
new_primCmpInt(Pos(Zero), Neg(Succ(vyw4000))) → GT
new_ltEs12(Left(vyw590), Left(vyw600), ty_Char, bfa) → new_ltEs10(vyw590, vyw600)
new_compare13(Char(vyw30), Char(vyw400)) → new_primCmpNat0(vyw30, vyw400)
new_lt21(vyw590, vyw600, ty_Double) → new_lt5(vyw590, vyw600)
new_esEs4(vyw30, vyw400, app(app(ty_Either, che), chf)) → new_esEs22(vyw30, vyw400, che, chf)
new_esEs9(vyw31, vyw401, ty_Double) → new_esEs20(vyw31, vyw401)
new_compare17(False, True) → LT
new_ltEs21(vyw102, vyw105, ty_Float) → new_ltEs14(vyw102, vyw105)
new_esEs14(vyw590, vyw600, app(ty_[], bee)) → new_esEs25(vyw590, vyw600, bee)
new_esEs31(vyw100, vyw103, ty_Float) → new_esEs24(vyw100, vyw103)
new_esEs8(vyw30, vyw400, ty_Ordering) → new_esEs15(vyw30, vyw400)
new_ltEs24(vyw84, vyw85, app(ty_Maybe, cfd)) → new_ltEs9(vyw84, vyw85, cfd)
new_esEs14(vyw590, vyw600, app(ty_Maybe, bdh)) → new_esEs18(vyw590, vyw600, bdh)
new_ltEs20(vyw592, vyw602, app(ty_[], ge)) → new_ltEs16(vyw592, vyw602, ge)
new_lt7(vyw3, vyw40, cdd, cde) → new_esEs12(new_compare14(vyw3, vyw40, cdd, cde))
new_esEs9(vyw31, vyw401, ty_Int) → new_esEs23(vyw31, vyw401)
new_esEs19(Char(vyw300), Char(vyw4000)) → new_primEqNat0(vyw300, vyw4000)
new_lt20(vyw591, vyw601, app(ty_[], hg)) → new_lt16(vyw591, vyw601, hg)
new_lt9(vyw590, vyw600, ty_Bool) → new_lt15(vyw590, vyw600)
new_esEs14(vyw590, vyw600, ty_@0) → new_esEs26(vyw590, vyw600)
new_lt9(vyw590, vyw600, app(app(ty_@2, bea), beb)) → new_lt4(vyw590, vyw600, bea, beb)
new_compare8(vyw30, vyw400, app(app(ty_@2, bhh), caa)) → new_compare6(vyw30, vyw400, bhh, caa)
new_compare8(vyw30, vyw400, app(app(ty_Either, cab), cac)) → new_compare14(vyw30, vyw400, cab, cac)
new_esEs5(vyw31, vyw401, app(app(ty_@2, dab), dac)) → new_esEs21(vyw31, vyw401, dab, dac)
new_esEs28(vyw113, vyw115, app(ty_[], cdc)) → new_esEs25(vyw113, vyw115, cdc)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_ltEs20(vyw592, vyw602, app(app(ty_Either, gc), gd)) → new_ltEs12(vyw592, vyw602, gc, gd)
new_ltEs22(vyw77, vyw78, app(ty_[], ceg)) → new_ltEs16(vyw77, vyw78, ceg)
new_esEs38(vyw300, vyw4000, ty_Double) → new_esEs20(vyw300, vyw4000)
new_esEs5(vyw31, vyw401, ty_Float) → new_esEs24(vyw31, vyw401)
new_ltEs7(vyw59, vyw60, eeb) → new_fsEs(new_compare10(vyw59, vyw60, eeb))
new_compare6(@2(vyw30, vyw31), @2(vyw400, vyw401), caf, cag) → new_compare25(vyw30, vyw31, vyw400, vyw401, new_asAs(new_esEs8(vyw30, vyw400, caf), new_esEs9(vyw31, vyw401, cag)), caf, cag)
new_ltEs12(Left(vyw590), Left(vyw600), ty_Double, bfa) → new_ltEs11(vyw590, vyw600)
new_compare8(vyw30, vyw400, ty_Float) → new_compare16(vyw30, vyw400)
new_esEs4(vyw30, vyw400, app(ty_[], cge)) → new_esEs25(vyw30, vyw400, cge)
new_compare9(GT, GT) → EQ
new_compare8(vyw30, vyw400, ty_Integer) → new_compare19(vyw30, vyw400)
new_lt16(vyw3, vyw40, bhc) → new_esEs12(new_compare1(vyw3, vyw40, bhc))
new_ltEs12(Right(vyw590), Right(vyw600), bfh, app(ty_Ratio, efh)) → new_ltEs7(vyw590, vyw600, efh)
new_esEs36(vyw301, vyw4001, ty_Integer) → new_esEs27(vyw301, vyw4001)
new_asAs(False, vyw131) → False
new_compare26(vyw59, vyw60, False, ffe) → new_compare115(vyw59, vyw60, new_ltEs23(vyw59, vyw60, ffe), ffe)
new_esEs6(vyw32, vyw402, app(app(ty_Either, dca), dcb)) → new_esEs22(vyw32, vyw402, dca, dcb)
new_compare16(Float(vyw30, vyw31), Float(vyw400, vyw401)) → new_compare15(new_sr(vyw30, vyw400), new_sr(vyw31, vyw401))
new_lt12(vyw3, vyw40, cae) → new_esEs12(new_compare12(vyw3, vyw40, cae))
new_esEs14(vyw590, vyw600, ty_Integer) → new_esEs27(vyw590, vyw600)
new_lt23(vyw100, vyw103, ty_Integer) → new_lt18(vyw100, vyw103)
new_primMulInt(Neg(vyw4000), Pos(vyw310)) → Neg(new_primMulNat0(vyw4000, vyw310))
new_primMulInt(Pos(vyw4000), Neg(vyw310)) → Neg(new_primMulNat0(vyw4000, vyw310))
new_esEs4(vyw30, vyw400, ty_Integer) → new_esEs27(vyw30, vyw400)
new_ltEs12(Right(vyw590), Right(vyw600), bfh, ty_Integer) → new_ltEs18(vyw590, vyw600)
new_esEs10(vyw30, vyw400, ty_Ordering) → new_esEs15(vyw30, vyw400)
new_ltEs9(Just(vyw590), Just(vyw600), app(app(app(ty_@3, bba), bbb), bbc)) → new_ltEs8(vyw590, vyw600, bba, bbb, bbc)
new_primMulNat0(Succ(vyw40000), Zero) → Zero
new_primMulNat0(Zero, Succ(vyw3100)) → Zero
new_ltEs19(vyw114, vyw116, ty_Float) → new_ltEs14(vyw114, vyw116)
new_ltEs20(vyw592, vyw602, ty_Bool) → new_ltEs15(vyw592, vyw602)
new_lt23(vyw100, vyw103, app(app(app(ty_@3, ea), eb), ec)) → new_lt11(vyw100, vyw103, ea, eb, ec)
new_esEs5(vyw31, vyw401, ty_Char) → new_esEs19(vyw31, vyw401)
new_esEs32(vyw101, vyw104, app(ty_Ratio, eaf)) → new_esEs16(vyw101, vyw104, eaf)
new_esEs18(Just(vyw300), Nothing, cgg) → False
new_esEs18(Nothing, Just(vyw4000), cgg) → False
new_esEs40(vyw300, vyw4000, app(app(ty_@2, fgc), fgd)) → new_esEs21(vyw300, vyw4000, fgc, fgd)
new_ltEs20(vyw592, vyw602, ty_Double) → new_ltEs11(vyw592, vyw602)
new_ltEs23(vyw59, vyw60, app(app(ty_Either, bfh), bfa)) → new_ltEs12(vyw59, vyw60, bfh, bfa)
new_esEs5(vyw31, vyw401, app(ty_[], chg)) → new_esEs25(vyw31, vyw401, chg)
new_esEs37(vyw302, vyw4002, app(ty_[], fbg)) → new_esEs25(vyw302, vyw4002, fbg)
new_esEs14(vyw590, vyw600, ty_Ordering) → new_esEs15(vyw590, vyw600)
new_esEs22(Right(vyw300), Right(vyw4000), che, app(ty_Maybe, dfg)) → new_esEs18(vyw300, vyw4000, dfg)
new_lt19(vyw113, vyw115, app(ty_Maybe, ccf)) → new_lt12(vyw113, vyw115, ccf)
new_esEs28(vyw113, vyw115, ty_Float) → new_esEs24(vyw113, vyw115)
new_esEs21(@2(vyw300, vyw301), @2(vyw4000, vyw4001), cgh, cha) → new_asAs(new_esEs38(vyw300, vyw4000, cgh), new_esEs39(vyw301, vyw4001, cha))
new_lt9(vyw590, vyw600, ty_@0) → new_lt17(vyw590, vyw600)
new_ltEs12(Left(vyw590), Left(vyw600), app(app(ty_@2, bfc), bfd), bfa) → new_ltEs4(vyw590, vyw600, bfc, bfd)
new_esEs29(vyw590, vyw600, app(ty_Ratio, dgg)) → new_esEs16(vyw590, vyw600, dgg)
new_esEs13(False, False) → True
new_esEs10(vyw30, vyw400, app(ty_Maybe, eee)) → new_esEs18(vyw30, vyw400, eee)
new_compare14(Right(vyw30), Right(vyw400), cdd, cde) → new_compare28(vyw30, vyw400, new_esEs11(vyw30, vyw400, cde), cdd, cde)
new_compare114(vyw165, vyw166, vyw167, vyw168, vyw169, vyw170, True, edd, ede, edf) → LT
new_esEs32(vyw101, vyw104, ty_Int) → new_esEs23(vyw101, vyw104)
new_esEs40(vyw300, vyw4000, ty_Integer) → new_esEs27(vyw300, vyw4000)
new_lt10(vyw3, vyw40, ead) → new_esEs12(new_compare10(vyw3, vyw40, ead))
new_esEs11(vyw30, vyw400, ty_Double) → new_esEs20(vyw30, vyw400)
new_esEs38(vyw300, vyw4000, app(ty_Maybe, fdc)) → new_esEs18(vyw300, vyw4000, fdc)
new_esEs18(Just(vyw300), Just(vyw4000), ty_Bool) → new_esEs13(vyw300, vyw4000)
new_compare110(vyw180, vyw181, vyw182, vyw183, False, dcc, dcd) → GT
new_esEs30(vyw591, vyw601, app(ty_[], hg)) → new_esEs25(vyw591, vyw601, hg)
new_esEs7(vyw30, vyw400, ty_Int) → new_esEs23(vyw30, vyw400)
new_ltEs6(LT, GT) → True
new_esEs35(vyw300, vyw4000, ty_Ordering) → new_esEs15(vyw300, vyw4000)
new_ltEs23(vyw59, vyw60, ty_Bool) → new_ltEs15(vyw59, vyw60)
new_esEs37(vyw302, vyw4002, ty_Ordering) → new_esEs15(vyw302, vyw4002)
new_esEs22(Right(vyw300), Right(vyw4000), che, ty_Integer) → new_esEs27(vyw300, vyw4000)
new_lt19(vyw113, vyw115, ty_Bool) → new_lt15(vyw113, vyw115)
new_esEs31(vyw100, vyw103, ty_Ordering) → new_esEs15(vyw100, vyw103)
new_esEs18(Just(vyw300), Just(vyw4000), ty_@0) → new_esEs26(vyw300, vyw4000)
new_esEs8(vyw30, vyw400, app(ty_Ratio, dcf)) → new_esEs16(vyw30, vyw400, dcf)
new_esEs28(vyw113, vyw115, ty_Char) → new_esEs19(vyw113, vyw115)
new_esEs35(vyw300, vyw4000, ty_Float) → new_esEs24(vyw300, vyw4000)
new_lt19(vyw113, vyw115, ty_@0) → new_lt17(vyw113, vyw115)
new_ltEs21(vyw102, vyw105, ty_Ordering) → new_ltEs6(vyw102, vyw105)
new_lt22(vyw101, vyw104, app(ty_Ratio, eaf)) → new_lt10(vyw101, vyw104, eaf)
new_esEs30(vyw591, vyw601, app(app(ty_Either, he), hf)) → new_esEs22(vyw591, vyw601, he, hf)
new_lt23(vyw100, vyw103, app(app(ty_@2, ee), ef)) → new_lt4(vyw100, vyw103, ee, ef)
new_compare14(Right(vyw30), Left(vyw400), cdd, cde) → GT
new_ltEs8(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), fb, fc, ha) → new_pePe(new_lt21(vyw590, vyw600, fb), new_asAs(new_esEs29(vyw590, vyw600, fb), new_pePe(new_lt20(vyw591, vyw601, fc), new_asAs(new_esEs30(vyw591, vyw601, fc), new_ltEs20(vyw592, vyw602, ha)))))
new_esEs39(vyw301, vyw4001, ty_Int) → new_esEs23(vyw301, vyw4001)
new_esEs38(vyw300, vyw4000, app(app(ty_@2, fdd), fde)) → new_esEs21(vyw300, vyw4000, fdd, fde)
new_esEs22(Left(vyw300), Left(vyw4000), app(ty_Maybe, dee), chf) → new_esEs18(vyw300, vyw4000, dee)
new_esEs30(vyw591, vyw601, ty_Ordering) → new_esEs15(vyw591, vyw601)
new_esEs4(vyw30, vyw400, ty_Double) → new_esEs20(vyw30, vyw400)
new_esEs8(vyw30, vyw400, app(app(ty_@2, dch), dda)) → new_esEs21(vyw30, vyw400, dch, dda)
new_esEs8(vyw30, vyw400, app(app(app(ty_@3, ddb), ddc), ddd)) → new_esEs17(vyw30, vyw400, ddb, ddc, ddd)
new_esEs28(vyw113, vyw115, app(app(app(ty_@3, ccb), ccc), ccd)) → new_esEs17(vyw113, vyw115, ccb, ccc, ccd)
new_esEs8(vyw30, vyw400, ty_Int) → new_esEs23(vyw30, vyw400)
new_lt23(vyw100, vyw103, ty_Bool) → new_lt15(vyw100, vyw103)
new_esEs28(vyw113, vyw115, ty_Integer) → new_esEs27(vyw113, vyw115)
new_esEs35(vyw300, vyw4000, app(ty_Ratio, ehd)) → new_esEs16(vyw300, vyw4000, ehd)
new_esEs28(vyw113, vyw115, ty_Bool) → new_esEs13(vyw113, vyw115)
new_compare113(vyw165, vyw166, vyw167, vyw168, vyw169, vyw170, True, vyw172, edd, ede, edf) → new_compare114(vyw165, vyw166, vyw167, vyw168, vyw169, vyw170, True, edd, ede, edf)
new_compare8(vyw30, vyw400, ty_@0) → new_compare18(vyw30, vyw400)
new_esEs6(vyw32, vyw402, ty_Char) → new_esEs19(vyw32, vyw402)
new_esEs40(vyw300, vyw4000, app(ty_[], ffh)) → new_esEs25(vyw300, vyw4000, ffh)
new_esEs29(vyw590, vyw600, ty_Double) → new_esEs20(vyw590, vyw600)
new_lt9(vyw590, vyw600, app(ty_Maybe, bdh)) → new_lt12(vyw590, vyw600, bdh)
new_compare8(vyw30, vyw400, ty_Ordering) → new_compare9(vyw30, vyw400)
new_esEs8(vyw30, vyw400, ty_@0) → new_esEs26(vyw30, vyw400)
new_lt21(vyw590, vyw600, app(app(ty_@2, bad), bae)) → new_lt4(vyw590, vyw600, bad, bae)
new_esEs11(vyw30, vyw400, app(ty_[], ega)) → new_esEs25(vyw30, vyw400, ega)
new_esEs29(vyw590, vyw600, app(app(ty_Either, baf), bag)) → new_esEs22(vyw590, vyw600, baf, bag)
new_esEs11(vyw30, vyw400, ty_Bool) → new_esEs13(vyw30, vyw400)
new_esEs11(vyw30, vyw400, ty_Int) → new_esEs23(vyw30, vyw400)
new_ltEs21(vyw102, vyw105, ty_Double) → new_ltEs11(vyw102, vyw105)
new_compare24(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, True, bc, bd, db) → EQ
new_esEs29(vyw590, vyw600, app(app(app(ty_@3, hh), baa), bab)) → new_esEs17(vyw590, vyw600, hh, baa, bab)
new_ltEs9(Just(vyw590), Just(vyw600), ty_Integer) → new_ltEs18(vyw590, vyw600)
new_ltEs21(vyw102, vyw105, ty_Integer) → new_ltEs18(vyw102, vyw105)
new_esEs39(vyw301, vyw4001, ty_Integer) → new_esEs27(vyw301, vyw4001)
new_primPlusNat1(Zero, Zero) → Zero
new_compare111(vyw143, vyw144, True, ddg, ddh) → LT
new_compare12(Just(vyw30), Nothing, cae) → GT
new_esEs9(vyw31, vyw401, ty_Char) → new_esEs19(vyw31, vyw401)
new_ltEs6(LT, EQ) → True
new_ltEs23(vyw59, vyw60, ty_Integer) → new_ltEs18(vyw59, vyw60)
new_esEs31(vyw100, vyw103, ty_Bool) → new_esEs13(vyw100, vyw103)
new_ltEs6(GT, LT) → False
new_ltEs5(vyw591, vyw601, app(app(app(ty_@3, bcc), bcd), bce)) → new_ltEs8(vyw591, vyw601, bcc, bcd, bce)
new_asAs(True, vyw131) → vyw131
new_lt9(vyw590, vyw600, ty_Char) → new_lt13(vyw590, vyw600)
new_primMulNat0(Succ(vyw40000), Succ(vyw3100)) → new_primPlusNat0(new_primMulNat0(vyw40000, Succ(vyw3100)), vyw3100)
new_ltEs19(vyw114, vyw116, app(ty_Ratio, deb)) → new_ltEs7(vyw114, vyw116, deb)
new_lt23(vyw100, vyw103, ty_Double) → new_lt5(vyw100, vyw103)
new_esEs13(True, True) → True
new_ltEs5(vyw591, vyw601, ty_Integer) → new_ltEs18(vyw591, vyw601)
new_esEs9(vyw31, vyw401, app(ty_[], eah)) → new_esEs25(vyw31, vyw401, eah)
new_ltEs12(Right(vyw590), Right(vyw600), bfh, app(app(app(ty_@3, bga), bgb), bgc)) → new_ltEs8(vyw590, vyw600, bga, bgb, bgc)
new_esEs38(vyw300, vyw4000, app(ty_Ratio, fdb)) → new_esEs16(vyw300, vyw4000, fdb)
new_esEs4(vyw30, vyw400, ty_Int) → new_esEs23(vyw30, vyw400)
new_lt20(vyw591, vyw601, app(ty_Ratio, dgh)) → new_lt10(vyw591, vyw601, dgh)
new_esEs30(vyw591, vyw601, ty_Double) → new_esEs20(vyw591, vyw601)
new_compare1(:(vyw30, vyw31), [], bhc) → GT
new_esEs11(vyw30, vyw400, app(ty_Ratio, egb)) → new_esEs16(vyw30, vyw400, egb)
new_esEs38(vyw300, vyw4000, app(app(app(ty_@3, fdf), fdg), fdh)) → new_esEs17(vyw300, vyw4000, fdf, fdg, fdh)
new_esEs5(vyw31, vyw401, app(app(app(ty_@3, dad), dae), daf)) → new_esEs17(vyw31, vyw401, dad, dae, daf)
new_esEs7(vyw30, vyw400, app(ty_Maybe, ecd)) → new_esEs18(vyw30, vyw400, ecd)
new_esEs10(vyw30, vyw400, app(app(ty_Either, efc), efd)) → new_esEs22(vyw30, vyw400, efc, efd)
new_esEs25(:(vyw300, vyw301), :(vyw4000, vyw4001), cge) → new_asAs(new_esEs40(vyw300, vyw4000, cge), new_esEs25(vyw301, vyw4001, cge))
new_lt23(vyw100, vyw103, app(ty_Ratio, eae)) → new_lt10(vyw100, vyw103, eae)
new_ltEs5(vyw591, vyw601, ty_Ordering) → new_ltEs6(vyw591, vyw601)
new_esEs22(Right(vyw300), Left(vyw4000), che, chf) → False
new_esEs22(Left(vyw300), Right(vyw4000), che, chf) → False
new_compare27(vyw77, vyw78, False, edg, cea) → new_compare111(vyw77, vyw78, new_ltEs22(vyw77, vyw78, edg), edg, cea)
new_esEs5(vyw31, vyw401, app(app(ty_Either, dag), dah)) → new_esEs22(vyw31, vyw401, dag, dah)
new_ltEs22(vyw77, vyw78, ty_Double) → new_ltEs11(vyw77, vyw78)
new_lt21(vyw590, vyw600, ty_Integer) → new_lt18(vyw590, vyw600)
new_ltEs21(vyw102, vyw105, ty_Int) → new_ltEs13(vyw102, vyw105)
new_esEs18(Just(vyw300), Just(vyw4000), app(app(app(ty_@3, dhg), dhh), eaa)) → new_esEs17(vyw300, vyw4000, dhg, dhh, eaa)
new_esEs22(Left(vyw300), Left(vyw4000), ty_Ordering, chf) → new_esEs15(vyw300, vyw4000)
new_lt8(vyw3, vyw40) → new_esEs12(new_compare9(vyw3, vyw40))
new_esEs37(vyw302, vyw4002, ty_Char) → new_esEs19(vyw302, vyw4002)
new_ltEs20(vyw592, vyw602, ty_Ordering) → new_ltEs6(vyw592, vyw602)
new_esEs22(Right(vyw300), Right(vyw4000), che, app(ty_Ratio, dff)) → new_esEs16(vyw300, vyw4000, dff)
new_esEs32(vyw101, vyw104, app(ty_[], dh)) → new_esEs25(vyw101, vyw104, dh)
new_esEs15(GT, GT) → True
new_esEs32(vyw101, vyw104, ty_@0) → new_esEs26(vyw101, vyw104)
new_esEs32(vyw101, vyw104, ty_Char) → new_esEs19(vyw101, vyw104)
new_esEs34(vyw301, vyw4001, ty_Integer) → new_esEs27(vyw301, vyw4001)
new_esEs11(vyw30, vyw400, app(app(ty_Either, eha), ehb)) → new_esEs22(vyw30, vyw400, eha, ehb)
new_compare8(vyw30, vyw400, ty_Char) → new_compare13(vyw30, vyw400)
new_ltEs20(vyw592, vyw602, ty_Char) → new_ltEs10(vyw592, vyw602)
new_ltEs24(vyw84, vyw85, ty_Bool) → new_ltEs15(vyw84, vyw85)
new_esEs7(vyw30, vyw400, app(ty_Ratio, ecc)) → new_esEs16(vyw30, vyw400, ecc)
new_primCompAux00(vyw90, GT) → GT
new_esEs31(vyw100, vyw103, ty_Double) → new_esEs20(vyw100, vyw103)
new_esEs7(vyw30, vyw400, app(app(ty_@2, ece), ecf)) → new_esEs21(vyw30, vyw400, ece, ecf)
new_esEs22(Right(vyw300), Right(vyw4000), che, ty_Bool) → new_esEs13(vyw300, vyw4000)
new_esEs35(vyw300, vyw4000, ty_@0) → new_esEs26(vyw300, vyw4000)
new_ltEs21(vyw102, vyw105, ty_@0) → new_ltEs17(vyw102, vyw105)
new_esEs4(vyw30, vyw400, app(ty_Ratio, cgf)) → new_esEs16(vyw30, vyw400, cgf)
new_ltEs22(vyw77, vyw78, app(ty_Maybe, ceb)) → new_ltEs9(vyw77, vyw78, ceb)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs4(vyw30, vyw400, ty_@0) → new_esEs26(vyw30, vyw400)
new_compare14(Left(vyw30), Right(vyw400), cdd, cde) → LT
new_lt20(vyw591, vyw601, app(ty_Maybe, hb)) → new_lt12(vyw591, vyw601, hb)
new_lt22(vyw101, vyw104, ty_Bool) → new_lt15(vyw101, vyw104)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_esEs22(Right(vyw300), Right(vyw4000), che, app(app(ty_Either, dge), dgf)) → new_esEs22(vyw300, vyw4000, dge, dgf)
new_esEs14(vyw590, vyw600, ty_Float) → new_esEs24(vyw590, vyw600)
new_primCmpInt(Neg(Succ(vyw300)), Pos(vyw400)) → LT
new_esEs11(vyw30, vyw400, ty_Ordering) → new_esEs15(vyw30, vyw400)
new_not(True) → False
new_esEs7(vyw30, vyw400, ty_Double) → new_esEs20(vyw30, vyw400)
new_compare1([], [], bhc) → EQ
new_esEs4(vyw30, vyw400, app(ty_Maybe, cgg)) → new_esEs18(vyw30, vyw400, cgg)
new_lt22(vyw101, vyw104, ty_Int) → new_lt6(vyw101, vyw104)
new_compare10(:%(vyw30, vyw31), :%(vyw400, vyw401), ty_Integer) → new_compare19(new_sr0(vyw30, vyw401), new_sr0(vyw400, vyw31))

The set Q consists of the following terms:

new_compare16(Float(x0, x1), Float(x2, x3))
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1, app(ty_Maybe, x2))
new_ltEs14(x0, x1)
new_ltEs9(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare8(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, ty_Double)
new_compare8(x0, x1, ty_Ordering)
new_esEs10(x0, x1, ty_Bool)
new_compare26(x0, x1, True, x2)
new_lt21(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Double)
new_ltEs22(x0, x1, ty_Char)
new_esEs22(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs11(x0, x1, app(ty_[], x2))
new_lt22(x0, x1, app(ty_[], x2))
new_compare6(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare8(x0, x1, ty_Bool)
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_lt9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Ordering)
new_compare116(x0, x1, True, x2, x3)
new_ltEs12(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs26(@0, @0)
new_esEs22(Left(x0), Left(x1), ty_@0, x2)
new_compare7(Double(x0, x1), Double(x2, x3))
new_esEs37(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Float)
new_compare14(Left(x0), Left(x1), x2, x3)
new_esEs39(x0, x1, ty_@0)
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs40(x0, x1, ty_@0)
new_esEs29(x0, x1, ty_Char)
new_esEs9(x0, x1, app(ty_[], x2))
new_ltEs23(x0, x1, app(ty_[], x2))
new_esEs37(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_compare9(LT, LT)
new_compare8(x0, x1, app(app(ty_Either, x2), x3))
new_esEs14(x0, x1, app(ty_Maybe, x2))
new_esEs22(Right(x0), Right(x1), x2, app(ty_[], x3))
new_compare28(x0, x1, False, x2, x3)
new_lt6(x0, x1)
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_lt23(x0, x1, app(ty_Maybe, x2))
new_esEs22(Left(x0), Left(x1), ty_Bool, x2)
new_esEs18(Just(x0), Just(x1), ty_Float)
new_primCmpNat0(Zero, Succ(x0))
new_esEs18(Just(x0), Just(x1), ty_Int)
new_asAs(False, x0)
new_esEs22(Right(x0), Right(x1), x2, ty_Int)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs23(x0, x1, ty_Float)
new_esEs38(x0, x1, ty_Integer)
new_esEs22(Right(x0), Right(x1), x2, ty_Integer)
new_compare9(EQ, EQ)
new_lt9(x0, x1, ty_Double)
new_esEs22(Left(x0), Left(x1), ty_Int, x2)
new_lt22(x0, x1, app(ty_Maybe, x2))
new_esEs18(Just(x0), Just(x1), ty_Integer)
new_esEs32(x0, x1, ty_Char)
new_lt23(x0, x1, app(ty_Ratio, x2))
new_compare11(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs18(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Left(x0), Left(x1), ty_Double, x2)
new_ltEs12(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs15(True, True)
new_esEs22(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_lt9(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_Int)
new_ltEs12(Left(x0), Left(x1), ty_Bool, x2)
new_esEs29(x0, x1, ty_Ordering)
new_lt22(x0, x1, ty_Char)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs38(x0, x1, ty_Double)
new_esEs7(x0, x1, ty_Float)
new_esEs14(x0, x1, app(ty_Ratio, x2))
new_esEs35(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, ty_Bool)
new_esEs39(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, ty_Float)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs15(False, False)
new_ltEs23(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Bool)
new_esEs39(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt9(x0, x1, app(ty_Maybe, x2))
new_ltEs7(x0, x1, x2)
new_ltEs22(x0, x1, ty_Int)
new_esEs31(x0, x1, app(ty_[], x2))
new_ltEs12(Right(x0), Left(x1), x2, x3)
new_ltEs12(Left(x0), Right(x1), x2, x3)
new_compare8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt21(x0, x1, ty_Char)
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_compare8(x0, x1, ty_Float)
new_esEs18(Just(x0), Just(x1), ty_Ordering)
new_esEs8(x0, x1, ty_@0)
new_lt19(x0, x1, ty_@0)
new_pePe(False, x0)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_sr(x0, x1)
new_esEs30(x0, x1, ty_Char)
new_esEs7(x0, x1, ty_Char)
new_compare24(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs31(x0, x1, ty_Int)
new_ltEs21(x0, x1, ty_Int)
new_esEs36(x0, x1, ty_Double)
new_lt21(x0, x1, ty_Ordering)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs37(x0, x1, app(ty_Maybe, x2))
new_esEs8(x0, x1, app(ty_[], x2))
new_compare116(x0, x1, False, x2, x3)
new_ltEs12(Right(x0), Right(x1), x2, ty_Float)
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_lt17(x0, x1)
new_compare12(Nothing, Just(x0), x1)
new_esEs28(x0, x1, ty_Double)
new_esEs30(x0, x1, ty_Ordering)
new_compare115(x0, x1, False, x2)
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_ltEs5(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Bool)
new_ltEs6(EQ, EQ)
new_esEs10(x0, x1, ty_@0)
new_lt21(x0, x1, ty_@0)
new_esEs31(x0, x1, ty_Integer)
new_ltEs22(x0, x1, ty_Double)
new_esEs10(x0, x1, ty_Char)
new_esEs40(x0, x1, ty_Double)
new_compare18(@0, @0)
new_esEs40(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_ltEs22(x0, x1, ty_Integer)
new_ltEs23(x0, x1, ty_Double)
new_primMulInt(Pos(x0), Pos(x1))
new_ltEs6(LT, EQ)
new_ltEs6(EQ, LT)
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_esEs7(x0, x1, app(ty_[], x2))
new_compare1(:(x0, x1), :(x2, x3), x4)
new_esEs31(x0, x1, ty_Ordering)
new_esEs33(x0, x1, ty_Integer)
new_esEs25(:(x0, x1), [], x2)
new_compare111(x0, x1, False, x2, x3)
new_esEs6(x0, x1, ty_Float)
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, ty_Ordering)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_compare1([], :(x0, x1), x2)
new_lt19(x0, x1, ty_Float)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, ty_Char)
new_esEs11(x0, x1, ty_Char)
new_ltEs24(x0, x1, ty_Char)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqNat0(Zero, Zero)
new_esEs22(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs4(x0, x1, ty_Integer)
new_esEs39(x0, x1, ty_Char)
new_esEs39(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCompAux00(x0, GT)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs25([], :(x0, x1), x2)
new_primMulNat0(Succ(x0), Zero)
new_primCompAux0(x0, x1, x2, x3)
new_ltEs21(x0, x1, ty_Bool)
new_ltEs21(x0, x1, ty_Integer)
new_primEqNat0(Succ(x0), Zero)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_ltEs12(Right(x0), Right(x1), x2, ty_Integer)
new_esEs39(x0, x1, app(app(ty_@2, x2), x3))
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_@0)
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_lt22(x0, x1, ty_Double)
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_esEs18(Just(x0), Just(x1), app(ty_Maybe, x2))
new_compare27(x0, x1, False, x2, x3)
new_ltEs12(Left(x0), Left(x1), ty_Char, x2)
new_ltEs24(x0, x1, ty_Integer)
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_esEs37(x0, x1, ty_Int)
new_esEs13(False, False)
new_primMulNat0(Zero, Zero)
new_esEs36(x0, x1, ty_Char)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_esEs8(x0, x1, ty_Int)
new_esEs39(x0, x1, app(ty_Maybe, x2))
new_esEs22(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs12(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs12(LT)
new_lt22(x0, x1, ty_Int)
new_esEs5(x0, x1, ty_Float)
new_esEs32(x0, x1, ty_Ordering)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs24(Float(x0, x1), Float(x2, x3))
new_compare12(Nothing, Nothing, x0)
new_esEs40(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare14(Right(x0), Right(x1), x2, x3)
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_@0)
new_esEs35(x0, x1, ty_Integer)
new_esEs10(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Double)
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs40(x0, x1, app(ty_Maybe, x2))
new_lt22(x0, x1, ty_Integer)
new_esEs11(x0, x1, ty_Double)
new_lt20(x0, x1, ty_Int)
new_lt23(x0, x1, ty_Ordering)
new_lt5(x0, x1)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_esEs5(x0, x1, ty_Double)
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs14(x0, x1, ty_Float)
new_esEs37(x0, x1, ty_@0)
new_compare8(x0, x1, ty_Double)
new_ltEs8(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs21(x0, x1, ty_Double)
new_compare25(x0, x1, x2, x3, True, x4, x5)
new_esEs40(x0, x1, ty_Bool)
new_primMulNat0(Succ(x0), Succ(x1))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs23(x0, x1)
new_ltEs9(Nothing, Nothing, x0)
new_compare1(:(x0, x1), [], x2)
new_ltEs22(x0, x1, ty_Ordering)
new_esEs25(:(x0, x1), :(x2, x3), x4)
new_esEs32(x0, x1, ty_@0)
new_ltEs12(Right(x0), Right(x1), x2, ty_@0)
new_esEs37(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs22(Right(x0), Right(x1), x2, ty_Char)
new_esEs36(x0, x1, ty_Float)
new_esEs22(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs18(Just(x0), Just(x1), ty_@0)
new_primCompAux00(x0, EQ)
new_esEs37(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_lt9(x0, x1, ty_Ordering)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs22(Right(x0), Right(x1), x2, ty_Bool)
new_primEqNat0(Zero, Succ(x0))
new_ltEs12(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs37(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs22(Right(x0), Left(x1), x2, x3)
new_esEs22(Left(x0), Right(x1), x2, x3)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs33(x0, x1, ty_Int)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs18(Just(x0), Just(x1), app(ty_[], x2))
new_primPlusNat0(Succ(x0), x1)
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Integer)
new_esEs34(x0, x1, ty_Int)
new_ltEs9(Just(x0), Just(x1), ty_@0)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs9(Just(x0), Just(x1), app(ty_[], x2))
new_esEs5(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs29(x0, x1, ty_Bool)
new_ltEs9(Nothing, Just(x0), x1)
new_esEs14(x0, x1, ty_Bool)
new_ltEs21(x0, x1, ty_Float)
new_esEs8(x0, x1, ty_Integer)
new_ltEs12(Left(x0), Left(x1), ty_@0, x2)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_lt15(x0, x1)
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Ordering)
new_ltEs12(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs23(x0, x1, ty_Ordering)
new_ltEs9(Just(x0), Just(x1), ty_Bool)
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs9(Just(x0), Just(x1), ty_Float)
new_esEs16(:%(x0, x1), :%(x2, x3), x4)
new_esEs22(Right(x0), Right(x1), x2, ty_Float)
new_esEs18(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, ty_Int)
new_esEs22(Left(x0), Left(x1), ty_Double, x2)
new_esEs5(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, ty_Int)
new_esEs22(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs10(x0, x1, ty_Int)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs40(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Ordering)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs38(x0, x1, ty_Float)
new_esEs28(x0, x1, ty_Float)
new_compare26(x0, x1, False, x2)
new_ltEs12(Right(x0), Right(x1), x2, ty_Bool)
new_esEs6(x0, x1, ty_@0)
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_lt21(x0, x1, ty_Double)
new_esEs22(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs20(Double(x0, x1), Double(x2, x3))
new_lt22(x0, x1, ty_Bool)
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_esEs14(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Bool)
new_compare12(Just(x0), Nothing, x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_Int)
new_compare8(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Left(x0), Left(x1), ty_Integer, x2)
new_lt22(x0, x1, app(ty_Ratio, x2))
new_esEs38(x0, x1, app(ty_Maybe, x2))
new_esEs31(x0, x1, ty_Char)
new_esEs22(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_primPlusNat1(Zero, Zero)
new_compare9(LT, EQ)
new_compare9(EQ, LT)
new_lt22(x0, x1, ty_Float)
new_esEs36(x0, x1, ty_Ordering)
new_esEs6(x0, x1, ty_Double)
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(x0, x1, ty_@0)
new_esEs22(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_compare8(x0, x1, ty_@0)
new_esEs4(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, app(ty_[], x2))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_ltEs12(Left(x0), Left(x1), ty_Ordering, x2)
new_compare9(EQ, GT)
new_compare9(GT, EQ)
new_esEs18(Just(x0), Just(x1), ty_Bool)
new_esEs40(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs4(x0, x1, ty_Float)
new_esEs35(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Int)
new_ltEs22(x0, x1, app(ty_[], x2))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs38(x0, x1, app(ty_[], x2))
new_lt23(x0, x1, ty_Double)
new_esEs38(x0, x1, ty_Bool)
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_esEs15(LT, LT)
new_esEs10(x0, x1, ty_Double)
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs38(x0, x1, ty_Int)
new_lt9(x0, x1, ty_Char)
new_esEs7(x0, x1, ty_Int)
new_esEs31(x0, x1, ty_Float)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs15(GT, EQ)
new_esEs15(EQ, GT)
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs39(x0, x1, ty_Double)
new_esEs5(x0, x1, app(ty_[], x2))
new_asAs(True, x0)
new_esEs5(x0, x1, ty_Int)
new_esEs11(x0, x1, ty_Bool)
new_ltEs12(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_fsEs(x0)
new_sr0(Integer(x0), Integer(x1))
new_ltEs15(False, True)
new_ltEs15(True, False)
new_esEs5(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_@0)
new_esEs37(x0, x1, app(ty_Ratio, x2))
new_compare15(x0, x1)
new_esEs40(x0, x1, ty_Integer)
new_lt22(x0, x1, ty_@0)
new_primPlusNat1(Zero, Succ(x0))
new_lt9(x0, x1, ty_Integer)
new_esEs10(x0, x1, ty_Ordering)
new_esEs22(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs37(x0, x1, ty_Double)
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_compare114(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs35(x0, x1, ty_Int)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs11(x0, x1)
new_ltEs5(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_Char)
new_primPlusNat1(Succ(x0), Zero)
new_compare19(Integer(x0), Integer(x1))
new_lt14(x0, x1)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare113(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_compare28(x0, x1, True, x2, x3)
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs17(x0, x1)
new_ltEs10(x0, x1)
new_ltEs21(x0, x1, ty_Char)
new_lt21(x0, x1, app(ty_Maybe, x2))
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_lt23(x0, x1, ty_Char)
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Double)
new_ltEs12(Right(x0), Right(x1), x2, ty_Double)
new_esEs37(x0, x1, ty_Ordering)
new_esEs7(x0, x1, ty_Integer)
new_compare9(GT, GT)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, ty_Float)
new_ltEs12(Left(x0), Left(x1), ty_Float, x2)
new_primPlusNat1(Succ(x0), Succ(x1))
new_ltEs22(x0, x1, ty_@0)
new_esEs21(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare1([], [], x0)
new_ltEs24(x0, x1, ty_@0)
new_primEqInt(Neg(Zero), Neg(Zero))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare25(x0, x1, x2, x3, False, x4, x5)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_ltEs9(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs36(x0, x1, ty_@0)
new_esEs19(Char(x0), Char(x1))
new_lt20(x0, x1, ty_Integer)
new_esEs14(x0, x1, ty_Double)
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs9(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, ty_Bool)
new_compare27(x0, x1, True, x2, x3)
new_compare8(x0, x1, app(ty_Maybe, x2))
new_esEs37(x0, x1, ty_Bool)
new_esEs10(x0, x1, ty_Integer)
new_esEs11(x0, x1, ty_@0)
new_esEs29(x0, x1, ty_Integer)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_ltEs9(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt9(x0, x1, ty_@0)
new_esEs27(Integer(x0), Integer(x1))
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs36(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, ty_Char)
new_esEs35(x0, x1, ty_Float)
new_lt7(x0, x1, x2, x3)
new_compare17(False, True)
new_compare17(True, False)
new_compare10(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_esEs40(x0, x1, ty_Ordering)
new_lt19(x0, x1, ty_Double)
new_esEs34(x0, x1, ty_Integer)
new_ltEs9(Just(x0), Nothing, x1)
new_ltEs12(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs22(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs38(x0, x1, ty_Ordering)
new_esEs32(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_@0)
new_esEs14(x0, x1, ty_@0)
new_esEs22(Left(x0), Left(x1), ty_Float, x2)
new_ltEs24(x0, x1, app(ty_[], x2))
new_ltEs9(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Double)
new_lt21(x0, x1, ty_Integer)
new_esEs31(x0, x1, ty_Double)
new_esEs39(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(x0, x1, ty_Ordering)
new_ltEs5(x0, x1, ty_Ordering)
new_esEs30(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs35(x0, x1, ty_Char)
new_lt19(x0, x1, ty_Integer)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_compare9(GT, LT)
new_compare9(LT, GT)
new_esEs18(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_compare12(Just(x0), Just(x1), x2)
new_ltEs22(x0, x1, ty_Bool)
new_ltEs16(x0, x1, x2)
new_ltEs5(x0, x1, ty_Integer)
new_esEs25([], [], x0)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_esEs40(x0, x1, ty_Int)
new_lt21(x0, x1, app(ty_[], x2))
new_esEs22(Right(x0), Right(x1), x2, ty_Double)
new_ltEs6(GT, GT)
new_compare112(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs7(x0, x1, ty_Ordering)
new_compare112(x0, x1, x2, x3, True, x4, x5, x6)
new_esEs8(x0, x1, ty_Double)
new_primPlusNat0(Zero, x0)
new_ltEs19(x0, x1, ty_@0)
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs37(x0, x1, ty_Char)
new_ltEs9(Just(x0), Just(x1), ty_Char)
new_esEs40(x0, x1, ty_Float)
new_ltEs5(x0, x1, ty_Bool)
new_ltEs23(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_Float)
new_esEs38(x0, x1, ty_Char)
new_compare24(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs35(x0, x1, app(ty_[], x2))
new_ltEs12(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs31(x0, x1, ty_Bool)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_compare17(False, False)
new_esEs30(x0, x1, ty_Float)
new_esEs14(x0, x1, app(ty_[], x2))
new_esEs22(Right(x0), Right(x1), x2, ty_@0)
new_primCmpNat0(Zero, Zero)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_ltEs24(x0, x1, ty_Ordering)
new_ltEs6(LT, LT)
new_esEs18(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs35(x0, x1, ty_@0)
new_lt23(x0, x1, ty_Integer)
new_esEs4(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs9(Just(x0), Just(x1), ty_Double)
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_lt23(x0, x1, ty_Float)
new_ltEs22(x0, x1, ty_Float)
new_esEs36(x0, x1, ty_Bool)
new_lt9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(GT, GT)
new_compare114(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_ltEs9(Just(x0), Just(x1), ty_Int)
new_primMulNat0(Zero, Succ(x0))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(x0, x1, ty_Int)
new_lt20(x0, x1, ty_Char)
new_ltEs21(x0, x1, ty_@0)
new_esEs36(x0, x1, ty_Integer)
new_esEs10(x0, x1, ty_Float)
new_esEs15(GT, LT)
new_esEs15(LT, GT)
new_compare113(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_esEs11(x0, x1, ty_Ordering)
new_esEs13(True, False)
new_esEs13(False, True)
new_esEs39(x0, x1, ty_Int)
new_compare110(x0, x1, x2, x3, False, x4, x5)
new_esEs6(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_pePe(True, x0)
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, ty_Integer)
new_esEs9(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Integer)
new_lt11(x0, x1, x2, x3, x4)
new_esEs22(Left(x0), Left(x1), ty_Char, x2)
new_compare8(x0, x1, app(ty_Ratio, x2))
new_esEs7(x0, x1, ty_Bool)
new_esEs22(Left(x0), Left(x1), app(ty_[], x2), x3)
new_lt23(x0, x1, ty_Bool)
new_esEs18(Just(x0), Nothing, x1)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs4(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Bool)
new_lt4(x0, x1, x2, x3)
new_lt23(x0, x1, ty_Int)
new_esEs39(x0, x1, ty_Ordering)
new_lt9(x0, x1, ty_Bool)
new_ltEs12(Left(x0), Left(x1), ty_Int, x2)
new_esEs14(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, ty_@0)
new_not(True)
new_ltEs21(x0, x1, ty_Ordering)
new_compare13(Char(x0), Char(x1))
new_compare14(Left(x0), Right(x1), x2, x3)
new_compare14(Right(x0), Left(x1), x2, x3)
new_esEs13(True, True)
new_esEs15(EQ, EQ)
new_esEs18(Just(x0), Just(x1), ty_Double)
new_lt20(x0, x1, ty_Bool)
new_lt19(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_@0)
new_esEs35(x0, x1, ty_Double)
new_lt9(x0, x1, app(ty_Ratio, x2))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_not(False)
new_esEs11(x0, x1, ty_Float)
new_esEs5(x0, x1, ty_Integer)
new_lt12(x0, x1, x2)
new_esEs30(x0, x1, ty_Double)
new_ltEs20(x0, x1, ty_Float)
new_esEs36(x0, x1, ty_Int)
new_esEs32(x0, x1, ty_Integer)
new_lt10(x0, x1, x2)
new_ltEs20(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_@0)
new_lt18(x0, x1)
new_ltEs6(GT, EQ)
new_ltEs6(EQ, GT)
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12(EQ)
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_ltEs12(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs7(x0, x1, ty_Double)
new_esEs39(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_ltEs12(Right(x0), Right(x1), x2, ty_Char)
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_lt13(x0, x1)
new_esEs39(x0, x1, ty_Integer)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs18(Nothing, Just(x0), x1)
new_esEs40(x0, x1, ty_Char)
new_lt19(x0, x1, ty_Char)
new_lt16(x0, x1, x2)
new_esEs8(x0, x1, ty_Char)
new_esEs14(x0, x1, ty_Ordering)
new_lt19(x0, x1, app(ty_[], x2))
new_lt19(x0, x1, ty_Bool)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_ltEs19(x0, x1, ty_Ordering)
new_ltEs13(x0, x1)
new_esEs32(x0, x1, ty_Bool)
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, ty_Double)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs14(x0, x1, ty_Char)
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs24(x0, x1, ty_Int)
new_primCmpNat0(Succ(x0), Succ(x1))
new_lt8(x0, x1)
new_compare111(x0, x1, True, x2, x3)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs4(x0, x1, ty_@0)
new_esEs6(x0, x1, ty_Ordering)
new_esEs18(Just(x0), Just(x1), ty_Char)
new_lt9(x0, x1, ty_Float)
new_ltEs23(x0, x1, ty_@0)
new_lt23(x0, x1, app(ty_[], x2))
new_ltEs24(x0, x1, ty_Double)
new_ltEs5(x0, x1, ty_Double)
new_primCmpNat0(Succ(x0), Zero)
new_esEs38(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare115(x0, x1, True, x2)
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs9(x0, x1, ty_Float)
new_lt9(x0, x1, app(ty_[], x2))
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs22(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_compare8(x0, x1, ty_Integer)
new_esEs38(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, app(ty_Ratio, x2))
new_esEs12(GT)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs9(x0, x1, ty_@0)
new_ltEs9(Just(x0), Just(x1), ty_Ordering)
new_compare10(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs6(x0, x1, ty_Int)
new_esEs15(EQ, LT)
new_esEs15(LT, EQ)
new_ltEs5(x0, x1, ty_Int)
new_lt19(x0, x1, ty_Int)
new_primEqInt(Pos(Zero), Pos(Zero))
new_ltEs23(x0, x1, ty_Int)
new_ltEs24(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_Char)
new_lt23(x0, x1, ty_@0)
new_esEs30(x0, x1, ty_Bool)
new_esEs39(x0, x1, ty_Bool)
new_lt22(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_Char)
new_ltEs18(x0, x1)
new_ltEs12(Right(x0), Right(x1), x2, ty_Int)
new_esEs14(x0, x1, ty_Int)
new_compare110(x0, x1, x2, x3, True, x4, x5)
new_ltEs9(Just(x0), Just(x1), ty_Integer)
new_esEs14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(ty_[], x2))
new_esEs32(x0, x1, ty_Float)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Int)
new_compare8(x0, x1, ty_Char)
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs38(x0, x1, ty_@0)
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_compare17(True, True)
new_esEs9(x0, x1, ty_Integer)
new_lt9(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_esEs22(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primCompAux00(x0, LT)
new_esEs4(x0, x1, ty_Bool)
new_ltEs23(x0, x1, ty_Bool)
new_ltEs24(x0, x1, ty_Bool)
new_esEs5(x0, x1, app(ty_Ratio, x2))
new_compare8(x0, x1, ty_Int)
new_lt21(x0, x1, ty_Float)
new_esEs37(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs18(Nothing, Nothing, x0)
new_esEs40(x0, x1, app(ty_[], x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_elemFM00(vyw28, vyw29, vyw30, vyw31, vyw32, vyw33, True, bb, bc) → new_elemFM01(vyw32, vyw33, bb, bc)
new_elemFM01(Branch(vyw40, vyw41, vyw42, vyw43, vyw44), vyw3, bd, be) → new_elemFM0(vyw40, vyw41, vyw42, vyw43, vyw44, vyw3, new_lt24(vyw3, vyw40, be), bd, be)
new_elemFM0(vyw13, vyw14, vyw15, vyw16, vyw17, vyw18, False, h, ba) → new_elemFM00(vyw13, vyw14, vyw15, vyw16, vyw17, vyw18, new_gt(vyw18, vyw13, ba), h, ba)
new_elemFM0(vyw13, vyw14, vyw15, vyw16, vyw17, vyw18, True, h, ba) → new_elemFM01(vyw16, vyw18, h, ba)

The TRS R consists of the following rules:

new_ltEs23(vyw59, vyw60, app(ty_Maybe, ffc)) → new_ltEs9(vyw59, vyw60, ffc)
new_compare113(vyw165, vyw166, vyw167, vyw168, vyw169, vyw170, False, vyw172, ddd, dde, ddf) → new_compare114(vyw165, vyw166, vyw167, vyw168, vyw169, vyw170, vyw172, ddd, dde, ddf)
new_esEs22(Right(vyw300), Right(vyw4000), hh, app(app(ty_@2, bhe), bhf)) → new_esEs21(vyw300, vyw4000, bhe, bhf)
new_lt23(vyw100, vyw103, app(ty_Maybe, cgg)) → new_lt12(vyw100, vyw103, cgg)
new_ltEs12(Right(vyw590), Right(vyw600), dhc, app(ty_Maybe, dhh)) → new_ltEs9(vyw590, vyw600, dhh)
new_esEs33(vyw300, vyw4000, ty_Int) → new_esEs23(vyw300, vyw4000)
new_esEs26(@0, @0) → True
new_esEs13(True, False) → False
new_esEs13(False, True) → False
new_esEs28(vyw113, vyw115, app(ty_Maybe, bdh)) → new_esEs18(vyw113, vyw115, bdh)
new_esEs40(vyw300, vyw4000, app(ty_Maybe, fgh)) → new_esEs18(vyw300, vyw4000, fgh)
new_esEs4(vyw30, vyw400, ty_Ordering) → new_esEs15(vyw30, vyw400)
new_esEs18(Just(vyw300), Just(vyw4000), ty_Double) → new_esEs20(vyw300, vyw4000)
new_lt19(vyw113, vyw115, ty_Integer) → new_lt18(vyw113, vyw115)
new_esEs40(vyw300, vyw4000, ty_Char) → new_esEs19(vyw300, vyw4000)
new_lt22(vyw101, vyw104, ty_Ordering) → new_lt8(vyw101, vyw104)
new_esEs40(vyw300, vyw4000, app(app(ty_Either, fhf), fhg)) → new_esEs22(vyw300, vyw4000, fhf, fhg)
new_lt22(vyw101, vyw104, ty_@0) → new_lt17(vyw101, vyw104)
new_esEs38(vyw300, vyw4000, ty_Char) → new_esEs19(vyw300, vyw4000)
new_esEs15(EQ, EQ) → True
new_compare28(vyw84, vyw85, False, fhh, gaa) → new_compare116(vyw84, vyw85, new_ltEs24(vyw84, vyw85, gaa), fhh, gaa)
new_ltEs9(Nothing, Just(vyw600), ffc) → True
new_esEs31(vyw100, vyw103, ty_Integer) → new_esEs27(vyw100, vyw103)
new_ltEs23(vyw59, vyw60, ty_Ordering) → new_ltEs6(vyw59, vyw60)
new_esEs39(vyw301, vyw4001, app(app(ty_Either, feh), ffa)) → new_esEs22(vyw301, vyw4001, feh, ffa)
new_compare8(vyw30, vyw400, app(ty_[], dc)) → new_compare1(vyw30, vyw400, dc)
new_lt21(vyw590, vyw600, ty_@0) → new_lt17(vyw590, vyw600)
new_esEs31(vyw100, vyw103, app(ty_[], chd)) → new_esEs25(vyw100, vyw103, chd)
new_ltEs24(vyw84, vyw85, app(ty_Ratio, gab)) → new_ltEs7(vyw84, vyw85, gab)
new_lt20(vyw591, vyw601, ty_Integer) → new_lt18(vyw591, vyw601)
new_esEs40(vyw300, vyw4000, ty_Float) → new_esEs24(vyw300, vyw4000)
new_gt(vyw18, vyw13, app(ty_Ratio, eff)) → new_esEs41(new_compare10(vyw18, vyw13, eff))
new_ltEs11(vyw59, vyw60) → new_fsEs(new_compare7(vyw59, vyw60))
new_esEs6(vyw32, vyw402, app(app(app(ty_@3, bca), bcb), bcc)) → new_esEs17(vyw32, vyw402, bca, bcb, bcc)
new_lt6(vyw3, vyw40) → new_esEs12(new_compare15(vyw3, vyw40))
new_esEs34(vyw301, vyw4001, ty_Int) → new_esEs23(vyw301, vyw4001)
new_compare9(LT, LT) → EQ
new_esEs30(vyw591, vyw601, ty_@0) → new_esEs26(vyw591, vyw601)
new_compare25(vyw113, vyw114, vyw115, vyw116, False, bdb, bdc) → new_compare112(vyw113, vyw114, vyw115, vyw116, new_lt19(vyw113, vyw115, bdb), new_asAs(new_esEs28(vyw113, vyw115, bdb), new_ltEs19(vyw114, vyw116, bdc)), bdb, bdc)
new_compare1([], :(vyw400, vyw401), bf) → LT
new_esEs32(vyw101, vyw104, ty_Bool) → new_esEs13(vyw101, vyw104)
new_ltEs22(vyw77, vyw78, ty_Ordering) → new_ltEs6(vyw77, vyw78)
new_compare18(@0, @0) → EQ
new_lt11(vyw3, vyw40, ge, gf, gg) → new_esEs12(new_compare11(vyw3, vyw40, ge, gf, gg))
new_esEs5(vyw31, vyw401, app(ty_Ratio, bac)) → new_esEs16(vyw31, vyw401, bac)
new_ltEs5(vyw591, vyw601, ty_Int) → new_ltEs13(vyw591, vyw601)
new_ltEs12(Right(vyw590), Right(vyw600), dhc, ty_Double) → new_ltEs11(vyw590, vyw600)
new_compare15(vyw3, vyw40) → new_primCmpInt(vyw3, vyw40)
new_ltEs12(Left(vyw590), Left(vyw600), ty_Float, dfh) → new_ltEs14(vyw590, vyw600)
new_lt23(vyw100, vyw103, ty_Float) → new_lt14(vyw100, vyw103)
new_esEs31(vyw100, vyw103, ty_@0) → new_esEs26(vyw100, vyw103)
new_ltEs5(vyw591, vyw601, ty_Bool) → new_ltEs15(vyw591, vyw601)
new_esEs11(vyw30, vyw400, ty_Integer) → new_esEs27(vyw30, vyw400)
new_ltEs22(vyw77, vyw78, ty_Float) → new_ltEs14(vyw77, vyw78)
new_ltEs9(Just(vyw590), Just(vyw600), ty_Double) → new_ltEs11(vyw590, vyw600)
new_compare12(Just(vyw30), Just(vyw400), dca) → new_compare26(vyw30, vyw400, new_esEs7(vyw30, vyw400, dca), dca)
new_esEs8(vyw30, vyw400, ty_Bool) → new_esEs13(vyw30, vyw400)
new_esEs7(vyw30, vyw400, app(ty_[], dcb)) → new_esEs25(vyw30, vyw400, dcb)
new_pePe(False, vyw191) → vyw191
new_esEs38(vyw300, vyw4000, ty_@0) → new_esEs26(vyw300, vyw4000)
new_lt13(vyw3, vyw40) → new_esEs12(new_compare13(vyw3, vyw40))
new_esEs37(vyw302, vyw4002, app(ty_Ratio, fbe)) → new_esEs16(vyw302, vyw4002, fbe)
new_compare25(vyw113, vyw114, vyw115, vyw116, True, bdb, bdc) → EQ
new_ltEs23(vyw59, vyw60, app(app(app(ty_@3, cad), cae), caf)) → new_ltEs8(vyw59, vyw60, cad, cae, caf)
new_esEs7(vyw30, vyw400, ty_@0) → new_esEs26(vyw30, vyw400)
new_ltEs12(Left(vyw590), Left(vyw600), ty_Integer, dfh) → new_ltEs18(vyw590, vyw600)
new_ltEs12(Left(vyw590), Left(vyw600), ty_@0, dfh) → new_ltEs17(vyw590, vyw600)
new_esEs39(vyw301, vyw4001, ty_@0) → new_esEs26(vyw301, vyw4001)
new_ltEs5(vyw591, vyw601, app(app(ty_@2, fh), ga)) → new_ltEs4(vyw591, vyw601, fh, ga)
new_esEs31(vyw100, vyw103, ty_Char) → new_esEs19(vyw100, vyw103)
new_lt9(vyw590, vyw600, ty_Double) → new_lt5(vyw590, vyw600)
new_esEs30(vyw591, vyw601, app(ty_Maybe, cce)) → new_esEs18(vyw591, vyw601, cce)
new_esEs31(vyw100, vyw103, app(app(ty_Either, chb), chc)) → new_esEs22(vyw100, vyw103, chb, chc)
new_ltEs6(GT, EQ) → False
new_compare112(vyw180, vyw181, vyw182, vyw183, True, vyw185, bcf, bcg) → new_compare110(vyw180, vyw181, vyw182, vyw183, True, bcf, bcg)
new_esEs35(vyw300, vyw4000, app(ty_[], egh)) → new_esEs25(vyw300, vyw4000, egh)
new_esEs35(vyw300, vyw4000, ty_Bool) → new_esEs13(vyw300, vyw4000)
new_esEs4(vyw30, vyw400, ty_Char) → new_esEs19(vyw30, vyw400)
new_ltEs21(vyw102, vyw105, app(app(app(ty_@3, dah), dba), dbb)) → new_ltEs8(vyw102, vyw105, dah, dba, dbb)
new_esEs39(vyw301, vyw4001, ty_Float) → new_esEs24(vyw301, vyw4001)
new_esEs31(vyw100, vyw103, app(app(app(ty_@3, cgd), cge), cgf)) → new_esEs17(vyw100, vyw103, cgd, cge, cgf)
new_esEs28(vyw113, vyw115, app(ty_Ratio, bdd)) → new_esEs16(vyw113, vyw115, bdd)
new_esEs12(GT) → False
new_ltEs24(vyw84, vyw85, app(app(ty_Either, gba), gbb)) → new_ltEs12(vyw84, vyw85, gba, gbb)
new_esEs31(vyw100, vyw103, app(ty_Maybe, cgg)) → new_esEs18(vyw100, vyw103, cgg)
new_esEs35(vyw300, vyw4000, app(app(ty_Either, ehh), faa)) → new_esEs22(vyw300, vyw4000, ehh, faa)
new_gt(vyw18, vyw13, ty_Int) → new_esEs41(new_compare15(vyw18, vyw13))
new_esEs31(vyw100, vyw103, app(app(ty_@2, cgh), cha)) → new_esEs21(vyw100, vyw103, cgh, cha)
new_esEs18(Nothing, Nothing, hb) → True
new_ltEs20(vyw592, vyw602, app(app(ty_@2, cdh), cea)) → new_ltEs4(vyw592, vyw602, cdh, cea)
new_esEs38(vyw300, vyw4000, ty_Int) → new_esEs23(vyw300, vyw4000)
new_ltEs12(Right(vyw590), Right(vyw600), dhc, ty_Char) → new_ltEs10(vyw590, vyw600)
new_esEs37(vyw302, vyw4002, app(ty_Maybe, fbf)) → new_esEs18(vyw302, vyw4002, fbf)
new_esEs5(vyw31, vyw401, ty_Int) → new_esEs23(vyw31, vyw401)
new_esEs22(Right(vyw300), Right(vyw4000), hh, ty_Float) → new_esEs24(vyw300, vyw4000)
new_primCompAux0(vyw30, vyw400, vyw39, bf) → new_primCompAux00(vyw39, new_compare8(vyw30, vyw400, bf))
new_esEs15(EQ, GT) → False
new_esEs15(GT, EQ) → False
new_esEs36(vyw301, vyw4001, app(ty_Ratio, fac)) → new_esEs16(vyw301, vyw4001, fac)
new_esEs36(vyw301, vyw4001, app(app(ty_@2, fae), faf)) → new_esEs21(vyw301, vyw4001, fae, faf)
new_gt(vyw18, vyw13, ty_Bool) → new_esEs41(new_compare17(vyw18, vyw13))
new_ltEs12(Left(vyw590), Left(vyw600), app(app(app(ty_@3, dgb), dgc), dgd), dfh) → new_ltEs8(vyw590, vyw600, dgb, dgc, dgd)
new_lt23(vyw100, vyw103, ty_Ordering) → new_lt8(vyw100, vyw103)
new_esEs8(vyw30, vyw400, app(app(ty_Either, eeb), eec)) → new_esEs22(vyw30, vyw400, eeb, eec)
new_gt(vyw18, vyw13, app(app(ty_@2, egc), egd)) → new_esEs41(new_compare6(vyw18, vyw13, egc, egd))
new_esEs39(vyw301, vyw4001, app(app(app(ty_@3, fee), fef), feg)) → new_esEs17(vyw301, vyw4001, fee, fef, feg)
new_lt21(vyw590, vyw600, ty_Bool) → new_lt15(vyw590, vyw600)
new_pePe(True, vyw191) → True
new_primEqNat0(Zero, Zero) → True
new_esEs28(vyw113, vyw115, ty_Int) → new_esEs23(vyw113, vyw115)
new_ltEs24(vyw84, vyw85, app(app(ty_@2, gag), gah)) → new_ltEs4(vyw84, vyw85, gag, gah)
new_esEs10(vyw30, vyw400, ty_Bool) → new_esEs13(vyw30, vyw400)
new_compare9(LT, GT) → LT
new_esEs22(Left(vyw300), Left(vyw4000), app(ty_Ratio, bga), baa) → new_esEs16(vyw300, vyw4000, bga)
new_esEs10(vyw30, vyw400, app(app(app(ty_@3, ebc), ebd), ebe)) → new_esEs17(vyw30, vyw400, ebc, ebd, ebe)
new_lt19(vyw113, vyw115, ty_Double) → new_lt5(vyw113, vyw115)
new_compare9(EQ, LT) → GT
new_compare8(vyw30, vyw400, app(app(app(ty_@3, cb), cc), cd)) → new_compare11(vyw30, vyw400, cb, cc, cd)
new_esEs18(Just(vyw300), Just(vyw4000), ty_Ordering) → new_esEs15(vyw300, vyw4000)
new_esEs12(EQ) → False
new_ltEs21(vyw102, vyw105, app(ty_Maybe, dbc)) → new_ltEs9(vyw102, vyw105, dbc)
new_ltEs23(vyw59, vyw60, app(ty_Ratio, dfd)) → new_ltEs7(vyw59, vyw60, dfd)
new_ltEs17(vyw59, vyw60) → new_fsEs(new_compare18(vyw59, vyw60))
new_ltEs5(vyw591, vyw601, ty_Double) → new_ltEs11(vyw591, vyw601)
new_ltEs5(vyw591, vyw601, app(ty_Ratio, fb)) → new_ltEs7(vyw591, vyw601, fb)
new_esEs30(vyw591, vyw601, ty_Char) → new_esEs19(vyw591, vyw601)
new_esEs36(vyw301, vyw4001, ty_Char) → new_esEs19(vyw301, vyw4001)
new_esEs4(vyw30, vyw400, ty_Bool) → new_esEs13(vyw30, vyw400)
new_esEs35(vyw300, vyw4000, app(app(app(ty_@3, ehe), ehf), ehg)) → new_esEs17(vyw300, vyw4000, ehe, ehf, ehg)
new_ltEs6(EQ, GT) → True
new_gt(vyw18, vyw13, ty_Ordering) → new_esEs41(new_compare9(vyw18, vyw13))
new_primPlusNat0(Succ(vyw1930), vyw3100) → Succ(Succ(new_primPlusNat1(vyw1930, vyw3100)))
new_compare12(Nothing, Just(vyw400), dca) → LT
new_lt4(vyw3, vyw40, bg, bh) → new_esEs12(new_compare6(vyw3, vyw40, bg, bh))
new_ltEs19(vyw114, vyw116, ty_Bool) → new_ltEs15(vyw114, vyw116)
new_esEs11(vyw30, vyw400, app(ty_Maybe, ecb)) → new_esEs18(vyw30, vyw400, ecb)
new_ltEs12(Left(vyw590), Left(vyw600), ty_Ordering, dfh) → new_ltEs6(vyw590, vyw600)
new_lt21(vyw590, vyw600, ty_Ordering) → new_lt8(vyw590, vyw600)
new_lt21(vyw590, vyw600, app(ty_Ratio, cag)) → new_lt10(vyw590, vyw600, cag)
new_primEqInt(Neg(Succ(vyw3000)), Neg(Succ(vyw40000))) → new_primEqNat0(vyw3000, vyw40000)
new_esEs40(vyw300, vyw4000, app(app(app(ty_@3, fhc), fhd), fhe)) → new_esEs17(vyw300, vyw4000, fhc, fhd, fhe)
new_lt24(vyw3, vyw40, ty_Integer) → new_lt18(vyw3, vyw40)
new_lt19(vyw113, vyw115, ty_Char) → new_lt13(vyw113, vyw115)
new_lt21(vyw590, vyw600, ty_Int) → new_lt6(vyw590, vyw600)
new_esEs40(vyw300, vyw4000, ty_Int) → new_esEs23(vyw300, vyw4000)
new_ltEs22(vyw77, vyw78, app(ty_Ratio, dea)) → new_ltEs7(vyw77, vyw78, dea)
new_primPlusNat1(Succ(vyw19300), Zero) → Succ(vyw19300)
new_primPlusNat1(Zero, Succ(vyw31000)) → Succ(vyw31000)
new_esEs7(vyw30, vyw400, ty_Char) → new_esEs19(vyw30, vyw400)
new_esEs5(vyw31, vyw401, app(ty_Maybe, bad)) → new_esEs18(vyw31, vyw401, bad)
new_esEs22(Right(vyw300), Right(vyw4000), hh, ty_Double) → new_esEs20(vyw300, vyw4000)
new_esEs36(vyw301, vyw4001, ty_Int) → new_esEs23(vyw301, vyw4001)
new_ltEs22(vyw77, vyw78, ty_Integer) → new_ltEs18(vyw77, vyw78)
new_esEs6(vyw32, vyw402, app(app(ty_@2, bbg), bbh)) → new_esEs21(vyw32, vyw402, bbg, bbh)
new_esEs20(Double(vyw300, vyw301), Double(vyw4000, vyw4001)) → new_esEs23(new_sr(vyw300, vyw4000), new_sr(vyw301, vyw4001))
new_lt22(vyw101, vyw104, app(app(ty_@2, dab), dac)) → new_lt4(vyw101, vyw104, dab, dac)
new_esEs6(vyw32, vyw402, ty_Double) → new_esEs20(vyw32, vyw402)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt22(vyw101, vyw104, app(ty_Maybe, daa)) → new_lt12(vyw101, vyw104, daa)
new_ltEs21(vyw102, vyw105, app(ty_Ratio, dag)) → new_ltEs7(vyw102, vyw105, dag)
new_esEs8(vyw30, vyw400, ty_Double) → new_esEs20(vyw30, vyw400)
new_ltEs6(GT, GT) → True
new_lt20(vyw591, vyw601, ty_Ordering) → new_lt8(vyw591, vyw601)
new_lt21(vyw590, vyw600, ty_Float) → new_lt14(vyw590, vyw600)
new_ltEs23(vyw59, vyw60, ty_Char) → new_ltEs10(vyw59, vyw60)
new_compare24(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, False, cfh, cga, cgb) → new_compare113(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, new_lt23(vyw100, vyw103, cfh), new_asAs(new_esEs31(vyw100, vyw103, cfh), new_pePe(new_lt22(vyw101, vyw104, cga), new_asAs(new_esEs32(vyw101, vyw104, cga), new_ltEs21(vyw102, vyw105, cgb)))), cfh, cga, cgb)
new_esEs23(vyw30, vyw400) → new_primEqInt(vyw30, vyw400)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs28(vyw113, vyw115, app(app(ty_@2, bea), beb)) → new_esEs21(vyw113, vyw115, bea, beb)
new_lt9(vyw590, vyw600, app(ty_Ratio, dh)) → new_lt10(vyw590, vyw600, dh)
new_lt19(vyw113, vyw115, ty_Int) → new_lt6(vyw113, vyw115)
new_lt21(vyw590, vyw600, ty_Char) → new_lt13(vyw590, vyw600)
new_esEs7(vyw30, vyw400, ty_Float) → new_esEs24(vyw30, vyw400)
new_ltEs12(Left(vyw590), Left(vyw600), ty_Int, dfh) → new_ltEs13(vyw590, vyw600)
new_esEs38(vyw300, vyw4000, app(app(ty_Either, fdf), fdg)) → new_esEs22(vyw300, vyw4000, fdf, fdg)
new_primEqInt(Pos(Succ(vyw3000)), Pos(Succ(vyw40000))) → new_primEqNat0(vyw3000, vyw40000)
new_ltEs9(Just(vyw590), Just(vyw600), ty_@0) → new_ltEs17(vyw590, vyw600)
new_esEs35(vyw300, vyw4000, app(ty_Maybe, ehb)) → new_esEs18(vyw300, vyw4000, ehb)
new_esEs28(vyw113, vyw115, ty_Ordering) → new_esEs15(vyw113, vyw115)
new_lt9(vyw590, vyw600, app(ty_[], fa)) → new_lt16(vyw590, vyw600, fa)
new_compare10(:%(vyw30, vyw31), :%(vyw400, vyw401), ty_Int) → new_compare15(new_sr(vyw30, vyw401), new_sr(vyw400, vyw31))
new_primEqNat0(Succ(vyw3000), Succ(vyw40000)) → new_primEqNat0(vyw3000, vyw40000)
new_esEs22(Left(vyw300), Left(vyw4000), ty_Bool, baa) → new_esEs13(vyw300, vyw4000)
new_compare17(True, True) → EQ
new_esEs39(vyw301, vyw4001, app(ty_[], fdh)) → new_esEs25(vyw301, vyw4001, fdh)
new_esEs14(vyw590, vyw600, app(app(ty_Either, eg), eh)) → new_esEs22(vyw590, vyw600, eg, eh)
new_lt22(vyw101, vyw104, ty_Char) → new_lt13(vyw101, vyw104)
new_esEs7(vyw30, vyw400, ty_Integer) → new_esEs27(vyw30, vyw400)
new_lt5(vyw3, vyw40) → new_esEs12(new_compare7(vyw3, vyw40))
new_esEs14(vyw590, vyw600, ty_Bool) → new_esEs13(vyw590, vyw600)
new_primCmpInt(Neg(Succ(vyw300)), Neg(vyw400)) → new_primCmpNat0(vyw400, Succ(vyw300))
new_esEs30(vyw591, vyw601, ty_Int) → new_esEs23(vyw591, vyw601)
new_esEs18(Just(vyw300), Just(vyw4000), app(ty_[], cee)) → new_esEs25(vyw300, vyw4000, cee)
new_esEs18(Just(vyw300), Just(vyw4000), app(ty_Maybe, ceg)) → new_esEs18(vyw300, vyw4000, ceg)
new_esEs28(vyw113, vyw115, ty_@0) → new_esEs26(vyw113, vyw115)
new_ltEs9(Just(vyw590), Just(vyw600), ty_Char) → new_ltEs10(vyw590, vyw600)
new_esEs30(vyw591, vyw601, ty_Float) → new_esEs24(vyw591, vyw601)
new_ltEs9(Just(vyw590), Just(vyw600), ty_Bool) → new_ltEs15(vyw590, vyw600)
new_esEs37(vyw302, vyw4002, app(app(ty_@2, fbg), fbh)) → new_esEs21(vyw302, vyw4002, fbg, fbh)
new_ltEs9(Just(vyw590), Just(vyw600), app(ty_Maybe, ffh)) → new_ltEs9(vyw590, vyw600, ffh)
new_esEs31(vyw100, vyw103, app(ty_Ratio, cgc)) → new_esEs16(vyw100, vyw103, cgc)
new_esEs35(vyw300, vyw4000, app(app(ty_@2, ehc), ehd)) → new_esEs21(vyw300, vyw4000, ehc, ehd)
new_lt20(vyw591, vyw601, ty_Char) → new_lt13(vyw591, vyw601)
new_esEs32(vyw101, vyw104, ty_Ordering) → new_esEs15(vyw101, vyw104)
new_esEs9(vyw31, vyw401, ty_Float) → new_esEs24(vyw31, vyw401)
new_compare9(LT, EQ) → LT
new_esEs5(vyw31, vyw401, ty_Double) → new_esEs20(vyw31, vyw401)
new_primPlusNat1(Succ(vyw19300), Succ(vyw31000)) → Succ(Succ(new_primPlusNat1(vyw19300, vyw31000)))
new_esEs29(vyw590, vyw600, ty_Integer) → new_esEs27(vyw590, vyw600)
new_gt(vyw18, vyw13, app(ty_Maybe, egb)) → new_esEs41(new_compare12(vyw18, vyw13, egb))
new_esEs14(vyw590, vyw600, app(ty_Ratio, dh)) → new_esEs16(vyw590, vyw600, dh)
new_esEs7(vyw30, vyw400, app(app(ty_Either, ddb), ddc)) → new_esEs22(vyw30, vyw400, ddb, ddc)
new_ltEs12(Left(vyw590), Right(vyw600), dhc, dfh) → True
new_esEs29(vyw590, vyw600, ty_Char) → new_esEs19(vyw590, vyw600)
new_ltEs24(vyw84, vyw85, ty_Integer) → new_ltEs18(vyw84, vyw85)
new_ltEs23(vyw59, vyw60, app(app(ty_@2, df), dg)) → new_ltEs4(vyw59, vyw60, df, dg)
new_esEs22(Left(vyw300), Left(vyw4000), ty_Float, baa) → new_esEs24(vyw300, vyw4000)
new_ltEs22(vyw77, vyw78, app(app(app(ty_@3, deb), dec), ded)) → new_ltEs8(vyw77, vyw78, deb, dec, ded)
new_ltEs12(Right(vyw590), Right(vyw600), dhc, ty_@0) → new_ltEs17(vyw590, vyw600)
new_esEs7(vyw30, vyw400, app(app(app(ty_@3, dcg), dch), dda)) → new_esEs17(vyw30, vyw400, dcg, dch, dda)
new_primEqInt(Neg(Zero), Pos(Succ(vyw40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(vyw40000))) → False
new_ltEs9(Just(vyw590), Nothing, ffc) → False
new_primCompAux00(vyw90, EQ) → vyw90
new_primCmpInt(Pos(Zero), Pos(Succ(vyw4000))) → new_primCmpNat0(Zero, Succ(vyw4000))
new_ltEs23(vyw59, vyw60, ty_Int) → new_ltEs13(vyw59, vyw60)
new_ltEs20(vyw592, vyw602, ty_Int) → new_ltEs13(vyw592, vyw602)
new_ltEs22(vyw77, vyw78, ty_Int) → new_ltEs13(vyw77, vyw78)
new_esEs14(vyw590, vyw600, app(app(ty_@2, ee), ef)) → new_esEs21(vyw590, vyw600, ee, ef)
new_esEs22(Right(vyw300), Right(vyw4000), hh, app(app(app(ty_@3, bhg), bhh), caa)) → new_esEs17(vyw300, vyw4000, bhg, bhh, caa)
new_esEs35(vyw300, vyw4000, ty_Int) → new_esEs23(vyw300, vyw4000)
new_not(False) → True
new_esEs30(vyw591, vyw601, app(ty_Ratio, cca)) → new_esEs16(vyw591, vyw601, cca)
new_esEs36(vyw301, vyw4001, ty_Double) → new_esEs20(vyw301, vyw4001)
new_esEs8(vyw30, vyw400, ty_Float) → new_esEs24(vyw30, vyw400)
new_esEs9(vyw31, vyw401, ty_Bool) → new_esEs13(vyw31, vyw401)
new_esEs36(vyw301, vyw4001, ty_Bool) → new_esEs13(vyw301, vyw4001)
new_esEs6(vyw32, vyw402, ty_Int) → new_esEs23(vyw32, vyw402)
new_esEs32(vyw101, vyw104, app(ty_Maybe, daa)) → new_esEs18(vyw101, vyw104, daa)
new_esEs40(vyw300, vyw4000, ty_Double) → new_esEs20(vyw300, vyw4000)
new_esEs16(:%(vyw300, vyw301), :%(vyw4000, vyw4001), ha) → new_asAs(new_esEs33(vyw300, vyw4000, ha), new_esEs34(vyw301, vyw4001, ha))
new_lt9(vyw590, vyw600, ty_Integer) → new_lt18(vyw590, vyw600)
new_esEs25([], :(vyw4000, vyw4001), gh) → False
new_esEs25(:(vyw300, vyw301), [], gh) → False
new_esEs22(Left(vyw300), Left(vyw4000), app(app(ty_Either, bgh), bha), baa) → new_esEs22(vyw300, vyw4000, bgh, bha)
new_compare17(True, False) → GT
new_esEs29(vyw590, vyw600, ty_Int) → new_esEs23(vyw590, vyw600)
new_lt20(vyw591, vyw601, ty_Int) → new_lt6(vyw591, vyw601)
new_lt24(vyw3, vyw40, ty_@0) → new_lt17(vyw3, vyw40)
new_compare8(vyw30, vyw400, ty_Bool) → new_compare17(vyw30, vyw400)
new_lt19(vyw113, vyw115, ty_Float) → new_lt14(vyw113, vyw115)
new_esEs18(Just(vyw300), Just(vyw4000), ty_Int) → new_esEs23(vyw300, vyw4000)
new_lt22(vyw101, vyw104, ty_Float) → new_lt14(vyw101, vyw104)
new_esEs29(vyw590, vyw600, app(ty_[], cbh)) → new_esEs25(vyw590, vyw600, cbh)
new_esEs7(vyw30, vyw400, ty_Ordering) → new_esEs15(vyw30, vyw400)
new_esEs18(Just(vyw300), Just(vyw4000), app(app(ty_Either, cfe), cff)) → new_esEs22(vyw300, vyw4000, cfe, cff)
new_esEs38(vyw300, vyw4000, ty_Integer) → new_esEs27(vyw300, vyw4000)
new_ltEs19(vyw114, vyw116, app(ty_[], bfg)) → new_ltEs16(vyw114, vyw116, bfg)
new_lt24(vyw3, vyw40, ty_Char) → new_lt13(vyw3, vyw40)
new_esEs22(Left(vyw300), Left(vyw4000), ty_Char, baa) → new_esEs19(vyw300, vyw4000)
new_esEs31(vyw100, vyw103, ty_Int) → new_esEs23(vyw100, vyw103)
new_esEs33(vyw300, vyw4000, ty_Integer) → new_esEs27(vyw300, vyw4000)
new_ltEs23(vyw59, vyw60, app(ty_[], dfe)) → new_ltEs16(vyw59, vyw60, dfe)
new_primMulInt(Neg(vyw4000), Neg(vyw310)) → Pos(new_primMulNat0(vyw4000, vyw310))
new_compare9(GT, LT) → GT
new_esEs14(vyw590, vyw600, ty_Char) → new_esEs19(vyw590, vyw600)
new_primEqNat0(Zero, Succ(vyw40000)) → False
new_primEqNat0(Succ(vyw3000), Zero) → False
new_esEs17(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), he, hf, hg) → new_asAs(new_esEs35(vyw300, vyw4000, he), new_asAs(new_esEs36(vyw301, vyw4001, hf), new_esEs37(vyw302, vyw4002, hg)))
new_esEs18(Just(vyw300), Just(vyw4000), ty_Float) → new_esEs24(vyw300, vyw4000)
new_esEs15(LT, GT) → False
new_esEs15(GT, LT) → False
new_ltEs6(EQ, LT) → False
new_esEs37(vyw302, vyw4002, ty_Integer) → new_esEs27(vyw302, vyw4002)
new_esEs11(vyw30, vyw400, ty_Char) → new_esEs19(vyw30, vyw400)
new_lt22(vyw101, vyw104, ty_Double) → new_lt5(vyw101, vyw104)
new_esEs4(vyw30, vyw400, app(app(ty_@2, hc), hd)) → new_esEs21(vyw30, vyw400, hc, hd)
new_ltEs12(Left(vyw590), Left(vyw600), app(app(ty_Either, dgh), dha), dfh) → new_ltEs12(vyw590, vyw600, dgh, dha)
new_ltEs24(vyw84, vyw85, ty_Double) → new_ltEs11(vyw84, vyw85)
new_ltEs19(vyw114, vyw116, ty_@0) → new_ltEs17(vyw114, vyw116)
new_ltEs14(vyw59, vyw60) → new_fsEs(new_compare16(vyw59, vyw60))
new_ltEs5(vyw591, vyw601, app(ty_Maybe, fg)) → new_ltEs9(vyw591, vyw601, fg)
new_esEs14(vyw590, vyw600, ty_Double) → new_esEs20(vyw590, vyw600)
new_ltEs12(Left(vyw590), Left(vyw600), app(ty_Maybe, dge), dfh) → new_ltEs9(vyw590, vyw600, dge)
new_lt23(vyw100, vyw103, app(ty_[], chd)) → new_lt16(vyw100, vyw103, chd)
new_esEs9(vyw31, vyw401, ty_@0) → new_esEs26(vyw31, vyw401)
new_lt22(vyw101, vyw104, app(app(ty_Either, dad), dae)) → new_lt7(vyw101, vyw104, dad, dae)
new_primCmpInt(Pos(Zero), Neg(Succ(vyw4000))) → GT
new_lt21(vyw590, vyw600, ty_Double) → new_lt5(vyw590, vyw600)
new_esEs4(vyw30, vyw400, app(app(ty_Either, hh), baa)) → new_esEs22(vyw30, vyw400, hh, baa)
new_esEs9(vyw31, vyw401, ty_Double) → new_esEs20(vyw31, vyw401)
new_compare17(False, True) → LT
new_esEs14(vyw590, vyw600, app(ty_[], fa)) → new_esEs25(vyw590, vyw600, fa)
new_esEs8(vyw30, vyw400, ty_Ordering) → new_esEs15(vyw30, vyw400)
new_ltEs24(vyw84, vyw85, app(ty_Maybe, gaf)) → new_ltEs9(vyw84, vyw85, gaf)
new_esEs9(vyw31, vyw401, ty_Int) → new_esEs23(vyw31, vyw401)
new_lt7(vyw3, vyw40, dd, de) → new_esEs12(new_compare14(vyw3, vyw40, dd, de))
new_ltEs20(vyw592, vyw602, app(ty_[], ced)) → new_ltEs16(vyw592, vyw602, ced)
new_esEs19(Char(vyw300), Char(vyw4000)) → new_primEqNat0(vyw300, vyw4000)
new_esEs14(vyw590, vyw600, ty_@0) → new_esEs26(vyw590, vyw600)
new_lt9(vyw590, vyw600, ty_Bool) → new_lt15(vyw590, vyw600)
new_compare8(vyw30, vyw400, app(app(ty_@2, cf), cg)) → new_compare6(vyw30, vyw400, cf, cg)
new_lt9(vyw590, vyw600, app(app(ty_@2, ee), ef)) → new_lt4(vyw590, vyw600, ee, ef)
new_esEs5(vyw31, vyw401, app(app(ty_@2, bae), baf)) → new_esEs21(vyw31, vyw401, bae, baf)
new_compare8(vyw30, vyw400, app(app(ty_Either, da), db)) → new_compare14(vyw30, vyw400, da, db)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_ltEs22(vyw77, vyw78, app(ty_[], dfb)) → new_ltEs16(vyw77, vyw78, dfb)
new_ltEs12(Left(vyw590), Left(vyw600), ty_Double, dfh) → new_ltEs11(vyw590, vyw600)
new_compare8(vyw30, vyw400, ty_Float) → new_compare16(vyw30, vyw400)
new_compare9(GT, GT) → EQ
new_lt16(vyw3, vyw40, bf) → new_esEs12(new_compare1(vyw3, vyw40, bf))
new_compare8(vyw30, vyw400, ty_Integer) → new_compare19(vyw30, vyw400)
new_asAs(False, vyw131) → False
new_esEs6(vyw32, vyw402, app(app(ty_Either, bcd), bce)) → new_esEs22(vyw32, vyw402, bcd, bce)
new_lt23(vyw100, vyw103, ty_Integer) → new_lt18(vyw100, vyw103)
new_primMulInt(Pos(vyw4000), Neg(vyw310)) → Neg(new_primMulNat0(vyw4000, vyw310))
new_primMulInt(Neg(vyw4000), Pos(vyw310)) → Neg(new_primMulNat0(vyw4000, vyw310))
new_esEs10(vyw30, vyw400, ty_Ordering) → new_esEs15(vyw30, vyw400)
new_ltEs19(vyw114, vyw116, ty_Float) → new_ltEs14(vyw114, vyw116)
new_lt23(vyw100, vyw103, app(app(app(ty_@3, cgd), cge), cgf)) → new_lt11(vyw100, vyw103, cgd, cge, cgf)
new_esEs40(vyw300, vyw4000, app(app(ty_@2, fha), fhb)) → new_esEs21(vyw300, vyw4000, fha, fhb)
new_ltEs23(vyw59, vyw60, app(app(ty_Either, dhc), dfh)) → new_ltEs12(vyw59, vyw60, dhc, dfh)
new_esEs5(vyw31, vyw401, app(ty_[], bab)) → new_esEs25(vyw31, vyw401, bab)
new_esEs14(vyw590, vyw600, ty_Ordering) → new_esEs15(vyw590, vyw600)
new_esEs22(Right(vyw300), Right(vyw4000), hh, app(ty_Maybe, bhd)) → new_esEs18(vyw300, vyw4000, bhd)
new_esEs21(@2(vyw300, vyw301), @2(vyw4000, vyw4001), hc, hd) → new_asAs(new_esEs38(vyw300, vyw4000, hc), new_esEs39(vyw301, vyw4001, hd))
new_lt19(vyw113, vyw115, app(ty_Maybe, bdh)) → new_lt12(vyw113, vyw115, bdh)
new_esEs28(vyw113, vyw115, ty_Float) → new_esEs24(vyw113, vyw115)
new_ltEs12(Left(vyw590), Left(vyw600), app(app(ty_@2, dgf), dgg), dfh) → new_ltEs4(vyw590, vyw600, dgf, dgg)
new_esEs29(vyw590, vyw600, app(ty_Ratio, cag)) → new_esEs16(vyw590, vyw600, cag)
new_compare114(vyw165, vyw166, vyw167, vyw168, vyw169, vyw170, True, ddd, dde, ddf) → LT
new_compare14(Right(vyw30), Right(vyw400), dd, de) → new_compare28(vyw30, vyw400, new_esEs11(vyw30, vyw400, de), dd, de)
new_esEs32(vyw101, vyw104, ty_Int) → new_esEs23(vyw101, vyw104)
new_esEs40(vyw300, vyw4000, ty_Integer) → new_esEs27(vyw300, vyw4000)
new_ltEs6(LT, GT) → True
new_esEs35(vyw300, vyw4000, ty_Ordering) → new_esEs15(vyw300, vyw4000)
new_lt19(vyw113, vyw115, ty_Bool) → new_lt15(vyw113, vyw115)
new_esEs22(Right(vyw300), Right(vyw4000), hh, ty_Integer) → new_esEs27(vyw300, vyw4000)
new_esEs31(vyw100, vyw103, ty_Ordering) → new_esEs15(vyw100, vyw103)
new_esEs18(Just(vyw300), Just(vyw4000), ty_@0) → new_esEs26(vyw300, vyw4000)
new_lt19(vyw113, vyw115, ty_@0) → new_lt17(vyw113, vyw115)
new_ltEs21(vyw102, vyw105, ty_Ordering) → new_ltEs6(vyw102, vyw105)
new_esEs30(vyw591, vyw601, app(app(ty_Either, cch), cda)) → new_esEs22(vyw591, vyw601, cch, cda)
new_lt23(vyw100, vyw103, app(app(ty_@2, cgh), cha)) → new_lt4(vyw100, vyw103, cgh, cha)
new_esEs41(GT) → True
new_esEs39(vyw301, vyw4001, ty_Int) → new_esEs23(vyw301, vyw4001)
new_esEs38(vyw300, vyw4000, app(app(ty_@2, fda), fdb)) → new_esEs21(vyw300, vyw4000, fda, fdb)
new_esEs30(vyw591, vyw601, ty_Ordering) → new_esEs15(vyw591, vyw601)
new_esEs4(vyw30, vyw400, ty_Double) → new_esEs20(vyw30, vyw400)
new_esEs28(vyw113, vyw115, app(app(app(ty_@3, bde), bdf), bdg)) → new_esEs17(vyw113, vyw115, bde, bdf, bdg)
new_esEs8(vyw30, vyw400, ty_Int) → new_esEs23(vyw30, vyw400)
new_lt23(vyw100, vyw103, ty_Bool) → new_lt15(vyw100, vyw103)
new_esEs28(vyw113, vyw115, ty_Integer) → new_esEs27(vyw113, vyw115)
new_esEs28(vyw113, vyw115, ty_Bool) → new_esEs13(vyw113, vyw115)
new_compare113(vyw165, vyw166, vyw167, vyw168, vyw169, vyw170, True, vyw172, ddd, dde, ddf) → new_compare114(vyw165, vyw166, vyw167, vyw168, vyw169, vyw170, True, ddd, dde, ddf)
new_esEs6(vyw32, vyw402, ty_Char) → new_esEs19(vyw32, vyw402)
new_compare8(vyw30, vyw400, ty_@0) → new_compare18(vyw30, vyw400)
new_lt9(vyw590, vyw600, app(ty_Maybe, ed)) → new_lt12(vyw590, vyw600, ed)
new_compare8(vyw30, vyw400, ty_Ordering) → new_compare9(vyw30, vyw400)
new_esEs11(vyw30, vyw400, app(ty_[], ebh)) → new_esEs25(vyw30, vyw400, ebh)
new_lt21(vyw590, vyw600, app(app(ty_@2, cbd), cbe)) → new_lt4(vyw590, vyw600, cbd, cbe)
new_esEs11(vyw30, vyw400, ty_Bool) → new_esEs13(vyw30, vyw400)
new_lt24(vyw3, vyw40, app(app(ty_Either, dd), de)) → new_lt7(vyw3, vyw40, dd, de)
new_esEs11(vyw30, vyw400, ty_Int) → new_esEs23(vyw30, vyw400)
new_ltEs21(vyw102, vyw105, ty_Double) → new_ltEs11(vyw102, vyw105)
new_primPlusNat1(Zero, Zero) → Zero
new_compare12(Just(vyw30), Nothing, dca) → GT
new_ltEs6(LT, EQ) → True
new_esEs9(vyw31, vyw401, ty_Char) → new_esEs19(vyw31, vyw401)
new_esEs31(vyw100, vyw103, ty_Bool) → new_esEs13(vyw100, vyw103)
new_ltEs6(GT, LT) → False
new_asAs(True, vyw131) → vyw131
new_ltEs19(vyw114, vyw116, app(ty_Ratio, bef)) → new_ltEs7(vyw114, vyw116, bef)
new_lt9(vyw590, vyw600, ty_Char) → new_lt13(vyw590, vyw600)
new_ltEs12(Right(vyw590), Right(vyw600), dhc, app(app(app(ty_@3, dhe), dhf), dhg)) → new_ltEs8(vyw590, vyw600, dhe, dhf, dhg)
new_esEs4(vyw30, vyw400, ty_Int) → new_esEs23(vyw30, vyw400)
new_lt20(vyw591, vyw601, app(ty_Ratio, cca)) → new_lt10(vyw591, vyw601, cca)
new_esEs30(vyw591, vyw601, ty_Double) → new_esEs20(vyw591, vyw601)
new_compare1(:(vyw30, vyw31), [], bf) → GT
new_esEs11(vyw30, vyw400, app(ty_Ratio, eca)) → new_esEs16(vyw30, vyw400, eca)
new_esEs22(Left(vyw300), Right(vyw4000), hh, baa) → False
new_esEs22(Right(vyw300), Left(vyw4000), hh, baa) → False
new_compare27(vyw77, vyw78, False, ddg, ddh) → new_compare111(vyw77, vyw78, new_ltEs22(vyw77, vyw78, ddg), ddg, ddh)
new_esEs5(vyw31, vyw401, app(app(ty_Either, bbb), bbc)) → new_esEs22(vyw31, vyw401, bbb, bbc)
new_ltEs22(vyw77, vyw78, ty_Double) → new_ltEs11(vyw77, vyw78)
new_ltEs21(vyw102, vyw105, ty_Int) → new_ltEs13(vyw102, vyw105)
new_lt24(vyw3, vyw40, app(ty_Ratio, cfg)) → new_lt10(vyw3, vyw40, cfg)
new_esEs22(Left(vyw300), Left(vyw4000), ty_Ordering, baa) → new_esEs15(vyw300, vyw4000)
new_esEs37(vyw302, vyw4002, ty_Char) → new_esEs19(vyw302, vyw4002)
new_ltEs20(vyw592, vyw602, ty_Ordering) → new_ltEs6(vyw592, vyw602)
new_esEs34(vyw301, vyw4001, ty_Integer) → new_esEs27(vyw301, vyw4001)
new_ltEs20(vyw592, vyw602, ty_Char) → new_ltEs10(vyw592, vyw602)
new_ltEs24(vyw84, vyw85, ty_Bool) → new_ltEs15(vyw84, vyw85)
new_esEs7(vyw30, vyw400, app(ty_Ratio, dcc)) → new_esEs16(vyw30, vyw400, dcc)
new_esEs31(vyw100, vyw103, ty_Double) → new_esEs20(vyw100, vyw103)
new_esEs22(Right(vyw300), Right(vyw4000), hh, ty_Bool) → new_esEs13(vyw300, vyw4000)
new_ltEs21(vyw102, vyw105, ty_@0) → new_ltEs17(vyw102, vyw105)
new_compare14(Left(vyw30), Right(vyw400), dd, de) → LT
new_lt20(vyw591, vyw601, app(ty_Maybe, cce)) → new_lt12(vyw591, vyw601, cce)
new_lt22(vyw101, vyw104, ty_Bool) → new_lt15(vyw101, vyw104)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_lt24(vyw3, vyw40, app(app(ty_@2, bg), bh)) → new_lt4(vyw3, vyw40, bg, bh)
new_not(True) → False
new_esEs7(vyw30, vyw400, ty_Double) → new_esEs20(vyw30, vyw400)
new_compare10(:%(vyw30, vyw31), :%(vyw400, vyw401), ty_Integer) → new_compare19(new_sr0(vyw30, vyw401), new_sr0(vyw400, vyw31))
new_compare1([], [], bf) → EQ
new_esEs22(Right(vyw300), Right(vyw4000), hh, ty_Char) → new_esEs19(vyw300, vyw4000)
new_lt15(vyw3, vyw40) → new_esEs12(new_compare17(vyw3, vyw40))
new_lt19(vyw113, vyw115, app(ty_Ratio, bdd)) → new_lt10(vyw113, vyw115, bdd)
new_ltEs15(True, False) → False
new_esEs36(vyw301, vyw4001, app(ty_Maybe, fad)) → new_esEs18(vyw301, vyw4001, fad)
new_gt(vyw18, vyw13, app(app(ty_Either, ege), egf)) → new_esEs41(new_compare14(vyw18, vyw13, ege, egf))
new_compare110(vyw180, vyw181, vyw182, vyw183, True, bcf, bcg) → LT
new_esEs11(vyw30, vyw400, app(app(ty_@2, ecc), ecd)) → new_esEs21(vyw30, vyw400, ecc, ecd)
new_lt9(vyw590, vyw600, ty_Int) → new_lt6(vyw590, vyw600)
new_esEs36(vyw301, vyw4001, ty_Ordering) → new_esEs15(vyw301, vyw4001)
new_esEs39(vyw301, vyw4001, app(app(ty_@2, fec), fed)) → new_esEs21(vyw301, vyw4001, fec, fed)
new_gt(vyw18, vyw13, app(ty_[], egg)) → new_esEs41(new_compare1(vyw18, vyw13, egg))
new_lt20(vyw591, vyw601, ty_Float) → new_lt14(vyw591, vyw601)
new_esEs6(vyw32, vyw402, ty_@0) → new_esEs26(vyw32, vyw402)
new_lt23(vyw100, vyw103, ty_Char) → new_lt13(vyw100, vyw103)
new_compare9(GT, EQ) → GT
new_compare8(vyw30, vyw400, app(ty_Ratio, ca)) → new_compare10(vyw30, vyw400, ca)
new_compare9(EQ, GT) → LT
new_ltEs19(vyw114, vyw116, ty_Double) → new_ltEs11(vyw114, vyw116)
new_ltEs21(vyw102, vyw105, ty_Char) → new_ltEs10(vyw102, vyw105)
new_esEs22(Left(vyw300), Left(vyw4000), ty_Int, baa) → new_esEs23(vyw300, vyw4000)
new_primMulNat0(Zero, Zero) → Zero
new_ltEs24(vyw84, vyw85, ty_Ordering) → new_ltEs6(vyw84, vyw85)
new_esEs11(vyw30, vyw400, ty_Float) → new_esEs24(vyw30, vyw400)
new_esEs32(vyw101, vyw104, app(app(ty_Either, dad), dae)) → new_esEs22(vyw101, vyw104, dad, dae)
new_esEs32(vyw101, vyw104, ty_Integer) → new_esEs27(vyw101, vyw104)
new_esEs37(vyw302, vyw4002, ty_Int) → new_esEs23(vyw302, vyw4002)
new_ltEs5(vyw591, vyw601, ty_Float) → new_ltEs14(vyw591, vyw601)
new_gt(vyw18, vyw13, ty_@0) → new_esEs41(new_compare18(vyw18, vyw13))
new_lt9(vyw590, vyw600, ty_Ordering) → new_lt8(vyw590, vyw600)
new_esEs30(vyw591, vyw601, ty_Bool) → new_esEs13(vyw591, vyw601)
new_ltEs9(Just(vyw590), Just(vyw600), ty_Ordering) → new_ltEs6(vyw590, vyw600)
new_lt21(vyw590, vyw600, app(ty_[], cbh)) → new_lt16(vyw590, vyw600, cbh)
new_esEs32(vyw101, vyw104, ty_Float) → new_esEs24(vyw101, vyw104)
new_esEs37(vyw302, vyw4002, app(app(ty_Either, fcd), fce)) → new_esEs22(vyw302, vyw4002, fcd, fce)
new_esEs22(Left(vyw300), Left(vyw4000), ty_@0, baa) → new_esEs26(vyw300, vyw4000)
new_ltEs5(vyw591, vyw601, ty_Char) → new_ltEs10(vyw591, vyw601)
new_esEs36(vyw301, vyw4001, app(app(app(ty_@3, fag), fah), fba)) → new_esEs17(vyw301, vyw4001, fag, fah, fba)
new_ltEs24(vyw84, vyw85, ty_Float) → new_ltEs14(vyw84, vyw85)
new_esEs6(vyw32, vyw402, app(ty_Maybe, bbf)) → new_esEs18(vyw32, vyw402, bbf)
new_ltEs9(Just(vyw590), Just(vyw600), app(app(ty_Either, fgc), fgd)) → new_ltEs12(vyw590, vyw600, fgc, fgd)
new_ltEs5(vyw591, vyw601, ty_@0) → new_ltEs17(vyw591, vyw601)
new_esEs29(vyw590, vyw600, ty_Float) → new_esEs24(vyw590, vyw600)
new_lt19(vyw113, vyw115, ty_Ordering) → new_lt8(vyw113, vyw115)
new_esEs39(vyw301, vyw4001, app(ty_Maybe, feb)) → new_esEs18(vyw301, vyw4001, feb)
new_esEs36(vyw301, vyw4001, app(ty_[], fab)) → new_esEs25(vyw301, vyw4001, fab)
new_compare8(vyw30, vyw400, app(ty_Maybe, ce)) → new_compare12(vyw30, vyw400, ce)
new_compare116(vyw153, vyw154, False, dff, dfg) → GT
new_esEs6(vyw32, vyw402, ty_Integer) → new_esEs27(vyw32, vyw402)
new_ltEs21(vyw102, vyw105, app(app(ty_@2, dbd), dbe)) → new_ltEs4(vyw102, vyw105, dbd, dbe)
new_esEs38(vyw300, vyw4000, ty_Bool) → new_esEs13(vyw300, vyw4000)
new_ltEs22(vyw77, vyw78, ty_Bool) → new_ltEs15(vyw77, vyw78)
new_esEs9(vyw31, vyw401, ty_Ordering) → new_esEs15(vyw31, vyw401)
new_lt9(vyw590, vyw600, app(app(app(ty_@3, ea), eb), ec)) → new_lt11(vyw590, vyw600, ea, eb, ec)
new_esEs22(Right(vyw300), Right(vyw4000), hh, ty_Ordering) → new_esEs15(vyw300, vyw4000)
new_lt24(vyw3, vyw40, app(ty_[], bf)) → new_lt16(vyw3, vyw40, bf)
new_esEs9(vyw31, vyw401, ty_Integer) → new_esEs27(vyw31, vyw401)
new_ltEs12(Right(vyw590), Right(vyw600), dhc, ty_Int) → new_ltEs13(vyw590, vyw600)
new_ltEs21(vyw102, vyw105, app(app(ty_Either, dbf), dbg)) → new_ltEs12(vyw102, vyw105, dbf, dbg)
new_esEs10(vyw30, vyw400, ty_Double) → new_esEs20(vyw30, vyw400)
new_ltEs20(vyw592, vyw602, app(ty_Ratio, cdc)) → new_ltEs7(vyw592, vyw602, cdc)
new_ltEs15(True, True) → True
new_esEs38(vyw300, vyw4000, app(ty_[], fcf)) → new_esEs25(vyw300, vyw4000, fcf)
new_esEs8(vyw30, vyw400, app(ty_[], edb)) → new_esEs25(vyw30, vyw400, edb)
new_ltEs19(vyw114, vyw116, app(app(ty_@2, bfc), bfd)) → new_ltEs4(vyw114, vyw116, bfc, bfd)
new_esEs9(vyw31, vyw401, app(app(ty_Either, efd), efe)) → new_esEs22(vyw31, vyw401, efd, efe)
new_compare12(Nothing, Nothing, dca) → EQ
new_esEs35(vyw300, vyw4000, ty_Char) → new_esEs19(vyw300, vyw4000)
new_esEs25([], [], gh) → True
new_lt19(vyw113, vyw115, app(ty_[], bee)) → new_lt16(vyw113, vyw115, bee)
new_esEs5(vyw31, vyw401, ty_Bool) → new_esEs13(vyw31, vyw401)
new_ltEs15(False, True) → True
new_esEs37(vyw302, vyw4002, ty_@0) → new_esEs26(vyw302, vyw4002)
new_esEs22(Left(vyw300), Left(vyw4000), app(app(ty_@2, bgc), bgd), baa) → new_esEs21(vyw300, vyw4000, bgc, bgd)
new_ltEs23(vyw59, vyw60, ty_Float) → new_ltEs14(vyw59, vyw60)
new_esEs15(LT, EQ) → False
new_esEs15(EQ, LT) → False
new_esEs9(vyw31, vyw401, app(ty_Ratio, eee)) → new_esEs16(vyw31, vyw401, eee)
new_esEs22(Left(vyw300), Left(vyw4000), ty_Double, baa) → new_esEs20(vyw300, vyw4000)
new_esEs30(vyw591, vyw601, app(app(app(ty_@3, ccb), ccc), ccd)) → new_esEs17(vyw591, vyw601, ccb, ccc, ccd)
new_esEs32(vyw101, vyw104, ty_Double) → new_esEs20(vyw101, vyw104)
new_ltEs15(False, False) → True
new_esEs12(LT) → True
new_lt20(vyw591, vyw601, app(app(ty_Either, cch), cda)) → new_lt7(vyw591, vyw601, cch, cda)
new_esEs32(vyw101, vyw104, app(app(ty_@2, dab), dac)) → new_esEs21(vyw101, vyw104, dab, dac)
new_esEs28(vyw113, vyw115, app(app(ty_Either, bec), bed)) → new_esEs22(vyw113, vyw115, bec, bed)
new_lt22(vyw101, vyw104, app(app(app(ty_@3, chf), chg), chh)) → new_lt11(vyw101, vyw104, chf, chg, chh)
new_gt(vyw18, vyw13, app(app(app(ty_@3, efg), efh), ega)) → new_esEs41(new_compare11(vyw18, vyw13, efg, efh, ega))
new_primCmpNat0(Zero, Succ(vyw4000)) → LT
new_compare115(vyw136, vyw137, False, dfc) → GT
new_esEs18(Just(vyw300), Just(vyw4000), ty_Char) → new_esEs19(vyw300, vyw4000)
new_ltEs21(vyw102, vyw105, ty_Bool) → new_ltEs15(vyw102, vyw105)
new_ltEs4(@2(vyw590, vyw591), @2(vyw600, vyw601), df, dg) → new_pePe(new_lt9(vyw590, vyw600, df), new_asAs(new_esEs14(vyw590, vyw600, df), new_ltEs5(vyw591, vyw601, dg)))
new_esEs36(vyw301, vyw4001, ty_@0) → new_esEs26(vyw301, vyw4001)
new_lt18(vyw3, vyw40) → new_esEs12(new_compare19(vyw3, vyw40))
new_esEs5(vyw31, vyw401, ty_Ordering) → new_esEs15(vyw31, vyw401)
new_ltEs21(vyw102, vyw105, app(ty_[], dbh)) → new_ltEs16(vyw102, vyw105, dbh)
new_lt17(vyw3, vyw40) → new_esEs12(new_compare18(vyw3, vyw40))
new_compare115(vyw136, vyw137, True, dfc) → LT
new_esEs29(vyw590, vyw600, ty_Bool) → new_esEs13(vyw590, vyw600)
new_esEs35(vyw300, vyw4000, ty_Double) → new_esEs20(vyw300, vyw4000)
new_ltEs20(vyw592, vyw602, app(ty_Maybe, cdg)) → new_ltEs9(vyw592, vyw602, cdg)
new_ltEs16(vyw59, vyw60, dfe) → new_fsEs(new_compare1(vyw59, vyw60, dfe))
new_ltEs19(vyw114, vyw116, ty_Int) → new_ltEs13(vyw114, vyw116)
new_ltEs19(vyw114, vyw116, ty_Integer) → new_ltEs18(vyw114, vyw116)
new_esEs40(vyw300, vyw4000, ty_@0) → new_esEs26(vyw300, vyw4000)
new_compare111(vyw143, vyw144, False, bch, bda) → GT
new_esEs22(Left(vyw300), Left(vyw4000), app(app(app(ty_@3, bge), bgf), bgg), baa) → new_esEs17(vyw300, vyw4000, bge, bgf, bgg)
new_esEs6(vyw32, vyw402, app(ty_Ratio, bbe)) → new_esEs16(vyw32, vyw402, bbe)
new_compare8(vyw30, vyw400, ty_Int) → new_compare15(vyw30, vyw400)
new_ltEs24(vyw84, vyw85, ty_Char) → new_ltEs10(vyw84, vyw85)
new_ltEs5(vyw591, vyw601, app(app(ty_Either, gb), gc)) → new_ltEs12(vyw591, vyw601, gb, gc)
new_esEs32(vyw101, vyw104, app(app(app(ty_@3, chf), chg), chh)) → new_esEs17(vyw101, vyw104, chf, chg, chh)
new_esEs9(vyw31, vyw401, app(app(app(ty_@3, efa), efb), efc)) → new_esEs17(vyw31, vyw401, efa, efb, efc)
new_ltEs22(vyw77, vyw78, ty_@0) → new_ltEs17(vyw77, vyw78)
new_ltEs19(vyw114, vyw116, ty_Ordering) → new_ltEs6(vyw114, vyw116)
new_sr(vyw400, vyw31) → new_primMulInt(vyw400, vyw31)
new_compare9(EQ, EQ) → EQ
new_esEs6(vyw32, vyw402, app(ty_[], bbd)) → new_esEs25(vyw32, vyw402, bbd)
new_esEs7(vyw30, vyw400, ty_Bool) → new_esEs13(vyw30, vyw400)
new_ltEs19(vyw114, vyw116, ty_Char) → new_ltEs10(vyw114, vyw116)
new_lt19(vyw113, vyw115, app(app(app(ty_@3, bde), bdf), bdg)) → new_lt11(vyw113, vyw115, bde, bdf, bdg)
new_lt22(vyw101, vyw104, app(ty_[], daf)) → new_lt16(vyw101, vyw104, daf)
new_esEs39(vyw301, vyw4001, ty_Bool) → new_esEs13(vyw301, vyw4001)
new_esEs6(vyw32, vyw402, ty_Bool) → new_esEs13(vyw32, vyw402)
new_ltEs19(vyw114, vyw116, app(ty_Maybe, bfb)) → new_ltEs9(vyw114, vyw116, bfb)
new_ltEs24(vyw84, vyw85, ty_@0) → new_ltEs17(vyw84, vyw85)
new_esEs22(Right(vyw300), Right(vyw4000), hh, ty_Int) → new_esEs23(vyw300, vyw4000)
new_lt21(vyw590, vyw600, app(app(app(ty_@3, cah), cba), cbb)) → new_lt11(vyw590, vyw600, cah, cba, cbb)
new_esEs6(vyw32, vyw402, ty_Ordering) → new_esEs15(vyw32, vyw402)
new_lt21(vyw590, vyw600, app(app(ty_Either, cbf), cbg)) → new_lt7(vyw590, vyw600, cbf, cbg)
new_esEs5(vyw31, vyw401, ty_Integer) → new_esEs27(vyw31, vyw401)
new_esEs14(vyw590, vyw600, ty_Int) → new_esEs23(vyw590, vyw600)
new_lt19(vyw113, vyw115, app(app(ty_@2, bea), beb)) → new_lt4(vyw113, vyw115, bea, beb)
new_esEs39(vyw301, vyw4001, ty_Double) → new_esEs20(vyw301, vyw4001)
new_esEs29(vyw590, vyw600, app(ty_Maybe, cbc)) → new_esEs18(vyw590, vyw600, cbc)
new_ltEs9(Just(vyw590), Just(vyw600), app(app(ty_@2, fga), fgb)) → new_ltEs4(vyw590, vyw600, fga, fgb)
new_esEs22(Left(vyw300), Left(vyw4000), ty_Integer, baa) → new_esEs27(vyw300, vyw4000)
new_compare17(False, False) → EQ
new_ltEs5(vyw591, vyw601, app(ty_[], gd)) → new_ltEs16(vyw591, vyw601, gd)
new_lt24(vyw3, vyw40, ty_Ordering) → new_lt8(vyw3, vyw40)
new_fsEs(vyw192) → new_not(new_esEs15(vyw192, GT))
new_lt9(vyw590, vyw600, ty_Float) → new_lt14(vyw590, vyw600)
new_ltEs6(EQ, EQ) → True
new_esEs29(vyw590, vyw600, ty_@0) → new_esEs26(vyw590, vyw600)
new_primEqInt(Neg(Zero), Neg(Succ(vyw40000))) → False
new_primEqInt(Neg(Succ(vyw3000)), Neg(Zero)) → False
new_esEs18(Just(vyw300), Just(vyw4000), app(app(ty_@2, ceh), cfa)) → new_esEs21(vyw300, vyw4000, ceh, cfa)
new_ltEs24(vyw84, vyw85, app(ty_[], gbc)) → new_ltEs16(vyw84, vyw85, gbc)
new_compare11(@3(vyw30, vyw31, vyw32), @3(vyw400, vyw401, vyw402), ge, gf, gg) → new_compare24(vyw30, vyw31, vyw32, vyw400, vyw401, vyw402, new_asAs(new_esEs4(vyw30, vyw400, ge), new_asAs(new_esEs5(vyw31, vyw401, gf), new_esEs6(vyw32, vyw402, gg))), ge, gf, gg)
new_esEs9(vyw31, vyw401, app(app(ty_@2, eeg), eeh)) → new_esEs21(vyw31, vyw401, eeg, eeh)
new_ltEs12(Left(vyw590), Left(vyw600), app(ty_Ratio, dga), dfh) → new_ltEs7(vyw590, vyw600, dga)
new_compare112(vyw180, vyw181, vyw182, vyw183, False, vyw185, bcf, bcg) → new_compare110(vyw180, vyw181, vyw182, vyw183, vyw185, bcf, bcg)
new_esEs6(vyw32, vyw402, ty_Float) → new_esEs24(vyw32, vyw402)
new_ltEs24(vyw84, vyw85, ty_Int) → new_ltEs13(vyw84, vyw85)
new_esEs11(vyw30, vyw400, ty_@0) → new_esEs26(vyw30, vyw400)
new_ltEs13(vyw59, vyw60) → new_fsEs(new_compare15(vyw59, vyw60))
new_ltEs12(Right(vyw590), Right(vyw600), dhc, app(ty_[], eae)) → new_ltEs16(vyw590, vyw600, eae)
new_esEs8(vyw30, vyw400, ty_Char) → new_esEs19(vyw30, vyw400)
new_primCmpNat0(Succ(vyw300), Succ(vyw4000)) → new_primCmpNat0(vyw300, vyw4000)
new_esEs38(vyw300, vyw4000, ty_Float) → new_esEs24(vyw300, vyw4000)
new_ltEs12(Left(vyw590), Left(vyw600), app(ty_[], dhb), dfh) → new_ltEs16(vyw590, vyw600, dhb)
new_lt23(vyw100, vyw103, ty_@0) → new_lt17(vyw100, vyw103)
new_compare27(vyw77, vyw78, True, ddg, ddh) → EQ
new_ltEs20(vyw592, vyw602, ty_Float) → new_ltEs14(vyw592, vyw602)
new_esEs40(vyw300, vyw4000, ty_Bool) → new_esEs13(vyw300, vyw4000)
new_ltEs22(vyw77, vyw78, app(app(ty_Either, deh), dfa)) → new_ltEs12(vyw77, vyw78, deh, dfa)
new_esEs36(vyw301, vyw4001, ty_Float) → new_esEs24(vyw301, vyw4001)
new_esEs37(vyw302, vyw4002, ty_Bool) → new_esEs13(vyw302, vyw4002)
new_ltEs12(Right(vyw590), Right(vyw600), dhc, app(app(ty_@2, eaa), eab)) → new_ltEs4(vyw590, vyw600, eaa, eab)
new_esEs38(vyw300, vyw4000, ty_Ordering) → new_esEs15(vyw300, vyw4000)
new_esEs40(vyw300, vyw4000, app(ty_Ratio, fgg)) → new_esEs16(vyw300, vyw4000, fgg)
new_ltEs23(vyw59, vyw60, ty_Double) → new_ltEs11(vyw59, vyw60)
new_ltEs22(vyw77, vyw78, app(app(ty_@2, def), deg)) → new_ltEs4(vyw77, vyw78, def, deg)
new_esEs29(vyw590, vyw600, app(app(ty_@2, cbd), cbe)) → new_esEs21(vyw590, vyw600, cbd, cbe)
new_lt21(vyw590, vyw600, app(ty_Maybe, cbc)) → new_lt12(vyw590, vyw600, cbc)
new_esEs10(vyw30, vyw400, app(ty_Ratio, eag)) → new_esEs16(vyw30, vyw400, eag)
new_ltEs24(vyw84, vyw85, app(app(app(ty_@3, gac), gad), gae)) → new_ltEs8(vyw84, vyw85, gac, gad, gae)
new_compare7(Double(vyw30, vyw31), Double(vyw400, vyw401)) → new_compare15(new_sr(vyw30, vyw400), new_sr(vyw31, vyw401))
new_esEs22(Left(vyw300), Left(vyw4000), app(ty_[], bfh), baa) → new_esEs25(vyw300, vyw4000, bfh)
new_ltEs9(Just(vyw590), Just(vyw600), app(ty_Ratio, ffd)) → new_ltEs7(vyw590, vyw600, ffd)
new_primCompAux00(vyw90, LT) → LT
new_esEs9(vyw31, vyw401, app(ty_Maybe, eef)) → new_esEs18(vyw31, vyw401, eef)
new_lt22(vyw101, vyw104, ty_Integer) → new_lt18(vyw101, vyw104)
new_esEs36(vyw301, vyw4001, app(app(ty_Either, fbb), fbc)) → new_esEs22(vyw301, vyw4001, fbb, fbc)
new_lt19(vyw113, vyw115, app(app(ty_Either, bec), bed)) → new_lt7(vyw113, vyw115, bec, bed)
new_compare1(:(vyw30, vyw31), :(vyw400, vyw401), bf) → new_primCompAux0(vyw30, vyw400, new_compare1(vyw31, vyw401, bf), bf)
new_compare116(vyw153, vyw154, True, dff, dfg) → LT
new_primEqInt(Pos(Zero), Pos(Succ(vyw40000))) → False
new_primEqInt(Pos(Succ(vyw3000)), Pos(Zero)) → False
new_esEs10(vyw30, vyw400, ty_Integer) → new_esEs27(vyw30, vyw400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(vyw300), Zero) → GT
new_lt20(vyw591, vyw601, app(app(ty_@2, ccf), ccg)) → new_lt4(vyw591, vyw601, ccf, ccg)
new_esEs39(vyw301, vyw4001, ty_Char) → new_esEs19(vyw301, vyw4001)
new_primCmpInt(Neg(Zero), Pos(Succ(vyw4000))) → LT
new_esEs10(vyw30, vyw400, ty_Float) → new_esEs24(vyw30, vyw400)
new_ltEs9(Just(vyw590), Just(vyw600), app(ty_[], fge)) → new_ltEs16(vyw590, vyw600, fge)
new_esEs37(vyw302, vyw4002, ty_Float) → new_esEs24(vyw302, vyw4002)
new_ltEs22(vyw77, vyw78, ty_Char) → new_ltEs10(vyw77, vyw78)
new_sr0(Integer(vyw4000), Integer(vyw310)) → Integer(new_primMulInt(vyw4000, vyw310))
new_esEs37(vyw302, vyw4002, app(app(app(ty_@3, fca), fcb), fcc)) → new_esEs17(vyw302, vyw4002, fca, fcb, fcc)
new_compare28(vyw84, vyw85, True, fhh, gaa) → EQ
new_primEqInt(Neg(Succ(vyw3000)), Pos(vyw4000)) → False
new_primEqInt(Pos(Succ(vyw3000)), Neg(vyw4000)) → False
new_esEs5(vyw31, vyw401, ty_@0) → new_esEs26(vyw31, vyw401)
new_esEs28(vyw113, vyw115, ty_Double) → new_esEs20(vyw113, vyw115)
new_esEs14(vyw590, vyw600, app(app(app(ty_@3, ea), eb), ec)) → new_esEs17(vyw590, vyw600, ea, eb, ec)
new_ltEs9(Just(vyw590), Just(vyw600), ty_Int) → new_ltEs13(vyw590, vyw600)
new_ltEs20(vyw592, vyw602, ty_Integer) → new_ltEs18(vyw592, vyw602)
new_esEs10(vyw30, vyw400, app(ty_[], eaf)) → new_esEs25(vyw30, vyw400, eaf)
new_esEs37(vyw302, vyw4002, ty_Double) → new_esEs20(vyw302, vyw4002)
new_ltEs12(Right(vyw590), Right(vyw600), dhc, ty_Bool) → new_ltEs15(vyw590, vyw600)
new_esEs18(Just(vyw300), Just(vyw4000), ty_Integer) → new_esEs27(vyw300, vyw4000)
new_esEs10(vyw30, vyw400, ty_Char) → new_esEs19(vyw30, vyw400)
new_lt24(vyw3, vyw40, app(app(app(ty_@3, ge), gf), gg)) → new_lt11(vyw3, vyw40, ge, gf, gg)
new_lt24(vyw3, vyw40, ty_Bool) → new_lt15(vyw3, vyw40)
new_esEs41(EQ) → False
new_esEs10(vyw30, vyw400, app(app(ty_@2, eba), ebb)) → new_esEs21(vyw30, vyw400, eba, ebb)
new_compare26(vyw59, vyw60, True, ffb) → EQ
new_esEs29(vyw590, vyw600, ty_Ordering) → new_esEs15(vyw590, vyw600)
new_esEs35(vyw300, vyw4000, ty_Integer) → new_esEs27(vyw300, vyw4000)
new_lt20(vyw591, vyw601, ty_Double) → new_lt5(vyw591, vyw601)
new_lt23(vyw100, vyw103, ty_Int) → new_lt6(vyw100, vyw103)
new_gt(vyw18, vyw13, ty_Integer) → new_esEs41(new_compare19(vyw18, vyw13))
new_lt20(vyw591, vyw601, ty_Bool) → new_lt15(vyw591, vyw601)
new_primCmpInt(Pos(Succ(vyw300)), Pos(vyw400)) → new_primCmpNat0(Succ(vyw300), vyw400)
new_primPlusNat0(Zero, vyw3100) → Succ(vyw3100)
new_esEs30(vyw591, vyw601, ty_Integer) → new_esEs27(vyw591, vyw601)
new_ltEs19(vyw114, vyw116, app(app(ty_Either, bfe), bff)) → new_ltEs12(vyw114, vyw116, bfe, bff)
new_ltEs9(Nothing, Nothing, ffc) → True
new_ltEs12(Right(vyw590), Right(vyw600), dhc, app(app(ty_Either, eac), ead)) → new_ltEs12(vyw590, vyw600, eac, ead)
new_compare8(vyw30, vyw400, ty_Double) → new_compare7(vyw30, vyw400)
new_esEs4(vyw30, vyw400, app(app(app(ty_@3, he), hf), hg)) → new_esEs17(vyw30, vyw400, he, hf, hg)
new_esEs8(vyw30, vyw400, ty_Integer) → new_esEs27(vyw30, vyw400)
new_ltEs12(Right(vyw590), Left(vyw600), dhc, dfh) → False
new_esEs30(vyw591, vyw601, app(app(ty_@2, ccf), ccg)) → new_esEs21(vyw591, vyw601, ccf, ccg)
new_compare14(Left(vyw30), Left(vyw400), dd, de) → new_compare27(vyw30, vyw400, new_esEs10(vyw30, vyw400, dd), dd, de)
new_ltEs12(Right(vyw590), Right(vyw600), dhc, ty_Float) → new_ltEs14(vyw590, vyw600)
new_ltEs20(vyw592, vyw602, app(app(app(ty_@3, cdd), cde), cdf)) → new_ltEs8(vyw592, vyw602, cdd, cde, cdf)
new_ltEs20(vyw592, vyw602, ty_@0) → new_ltEs17(vyw592, vyw602)
new_esEs39(vyw301, vyw4001, ty_Ordering) → new_esEs15(vyw301, vyw4001)
new_lt14(vyw3, vyw40) → new_esEs12(new_compare16(vyw3, vyw40))
new_primCmpInt(Pos(Succ(vyw300)), Neg(vyw400)) → GT
new_lt9(vyw590, vyw600, app(app(ty_Either, eg), eh)) → new_lt7(vyw590, vyw600, eg, eh)
new_esEs11(vyw30, vyw400, app(app(app(ty_@3, ece), ecf), ecg)) → new_esEs17(vyw30, vyw400, ece, ecf, ecg)
new_esEs39(vyw301, vyw4001, app(ty_Ratio, fea)) → new_esEs16(vyw301, vyw4001, fea)
new_esEs10(vyw30, vyw400, ty_@0) → new_esEs26(vyw30, vyw400)
new_primMulInt(Pos(vyw4000), Pos(vyw310)) → Pos(new_primMulNat0(vyw4000, vyw310))
new_ltEs12(Right(vyw590), Right(vyw600), dhc, ty_Ordering) → new_ltEs6(vyw590, vyw600)
new_esEs4(vyw30, vyw400, ty_Float) → new_esEs24(vyw30, vyw400)
new_compare19(Integer(vyw30), Integer(vyw400)) → new_primCmpInt(vyw30, vyw400)
new_ltEs12(Left(vyw590), Left(vyw600), ty_Bool, dfh) → new_ltEs15(vyw590, vyw600)
new_compare114(vyw165, vyw166, vyw167, vyw168, vyw169, vyw170, False, ddd, dde, ddf) → GT
new_lt20(vyw591, vyw601, app(app(app(ty_@3, ccb), ccc), ccd)) → new_lt11(vyw591, vyw601, ccb, ccc, ccd)
new_esEs18(Just(vyw300), Just(vyw4000), app(ty_Ratio, cef)) → new_esEs16(vyw300, vyw4000, cef)
new_lt23(vyw100, vyw103, app(app(ty_Either, chb), chc)) → new_lt7(vyw100, vyw103, chb, chc)
new_esEs22(Right(vyw300), Right(vyw4000), hh, app(ty_[], bhb)) → new_esEs25(vyw300, vyw4000, bhb)
new_ltEs6(LT, LT) → True
new_lt20(vyw591, vyw601, ty_@0) → new_lt17(vyw591, vyw601)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs8(vyw30, vyw400, app(ty_Maybe, edd)) → new_esEs18(vyw30, vyw400, edd)
new_esEs15(LT, LT) → True
new_esEs40(vyw300, vyw4000, ty_Ordering) → new_esEs15(vyw300, vyw4000)
new_esEs24(Float(vyw300, vyw301), Float(vyw4000, vyw4001)) → new_esEs23(new_sr(vyw300, vyw4000), new_sr(vyw301, vyw4001))
new_ltEs19(vyw114, vyw116, app(app(app(ty_@3, beg), beh), bfa)) → new_ltEs8(vyw114, vyw116, beg, beh, bfa)
new_ltEs9(Just(vyw590), Just(vyw600), ty_Float) → new_ltEs14(vyw590, vyw600)
new_ltEs18(vyw59, vyw60) → new_fsEs(new_compare19(vyw59, vyw60))
new_lt24(vyw3, vyw40, ty_Double) → new_lt5(vyw3, vyw40)
new_esEs22(Right(vyw300), Right(vyw4000), hh, ty_@0) → new_esEs26(vyw300, vyw4000)
new_ltEs10(vyw59, vyw60) → new_fsEs(new_compare13(vyw59, vyw60))
new_esEs10(vyw30, vyw400, ty_Int) → new_esEs23(vyw30, vyw400)
new_esEs27(Integer(vyw300), Integer(vyw4000)) → new_primEqInt(vyw300, vyw4000)
new_ltEs23(vyw59, vyw60, ty_@0) → new_ltEs17(vyw59, vyw60)
new_primCmpInt(Neg(Zero), Neg(Succ(vyw4000))) → new_primCmpNat0(Succ(vyw4000), Zero)
new_ltEs12(Left(vyw590), Left(vyw600), ty_Char, dfh) → new_ltEs10(vyw590, vyw600)
new_compare13(Char(vyw30), Char(vyw400)) → new_primCmpNat0(vyw30, vyw400)
new_ltEs21(vyw102, vyw105, ty_Float) → new_ltEs14(vyw102, vyw105)
new_esEs31(vyw100, vyw103, ty_Float) → new_esEs24(vyw100, vyw103)
new_esEs14(vyw590, vyw600, app(ty_Maybe, ed)) → new_esEs18(vyw590, vyw600, ed)
new_lt20(vyw591, vyw601, app(ty_[], cdb)) → new_lt16(vyw591, vyw601, cdb)
new_esEs28(vyw113, vyw115, app(ty_[], bee)) → new_esEs25(vyw113, vyw115, bee)
new_ltEs20(vyw592, vyw602, app(app(ty_Either, ceb), cec)) → new_ltEs12(vyw592, vyw602, ceb, cec)
new_esEs38(vyw300, vyw4000, ty_Double) → new_esEs20(vyw300, vyw4000)
new_compare6(@2(vyw30, vyw31), @2(vyw400, vyw401), bg, bh) → new_compare25(vyw30, vyw31, vyw400, vyw401, new_asAs(new_esEs8(vyw30, vyw400, bg), new_esEs9(vyw31, vyw401, bh)), bg, bh)
new_ltEs7(vyw59, vyw60, dfd) → new_fsEs(new_compare10(vyw59, vyw60, dfd))
new_esEs5(vyw31, vyw401, ty_Float) → new_esEs24(vyw31, vyw401)
new_esEs4(vyw30, vyw400, app(ty_[], gh)) → new_esEs25(vyw30, vyw400, gh)
new_esEs36(vyw301, vyw4001, ty_Integer) → new_esEs27(vyw301, vyw4001)
new_ltEs12(Right(vyw590), Right(vyw600), dhc, app(ty_Ratio, dhd)) → new_ltEs7(vyw590, vyw600, dhd)
new_compare26(vyw59, vyw60, False, ffb) → new_compare115(vyw59, vyw60, new_ltEs23(vyw59, vyw60, ffb), ffb)
new_lt12(vyw3, vyw40, dca) → new_esEs12(new_compare12(vyw3, vyw40, dca))
new_compare16(Float(vyw30, vyw31), Float(vyw400, vyw401)) → new_compare15(new_sr(vyw30, vyw400), new_sr(vyw31, vyw401))
new_esEs14(vyw590, vyw600, ty_Integer) → new_esEs27(vyw590, vyw600)
new_ltEs12(Right(vyw590), Right(vyw600), dhc, ty_Integer) → new_ltEs18(vyw590, vyw600)
new_esEs4(vyw30, vyw400, ty_Integer) → new_esEs27(vyw30, vyw400)
new_ltEs9(Just(vyw590), Just(vyw600), app(app(app(ty_@3, ffe), fff), ffg)) → new_ltEs8(vyw590, vyw600, ffe, fff, ffg)
new_primMulNat0(Zero, Succ(vyw3100)) → Zero
new_primMulNat0(Succ(vyw40000), Zero) → Zero
new_ltEs20(vyw592, vyw602, ty_Bool) → new_ltEs15(vyw592, vyw602)
new_esEs5(vyw31, vyw401, ty_Char) → new_esEs19(vyw31, vyw401)
new_esEs32(vyw101, vyw104, app(ty_Ratio, che)) → new_esEs16(vyw101, vyw104, che)
new_esEs18(Nothing, Just(vyw4000), hb) → False
new_esEs18(Just(vyw300), Nothing, hb) → False
new_gt(vyw18, vyw13, ty_Float) → new_esEs41(new_compare16(vyw18, vyw13))
new_ltEs20(vyw592, vyw602, ty_Double) → new_ltEs11(vyw592, vyw602)
new_esEs37(vyw302, vyw4002, app(ty_[], fbd)) → new_esEs25(vyw302, vyw4002, fbd)
new_lt9(vyw590, vyw600, ty_@0) → new_lt17(vyw590, vyw600)
new_esEs13(False, False) → True
new_esEs10(vyw30, vyw400, app(ty_Maybe, eah)) → new_esEs18(vyw30, vyw400, eah)
new_esEs11(vyw30, vyw400, ty_Double) → new_esEs20(vyw30, vyw400)
new_lt10(vyw3, vyw40, cfg) → new_esEs12(new_compare10(vyw3, vyw40, cfg))
new_esEs38(vyw300, vyw4000, app(ty_Maybe, fch)) → new_esEs18(vyw300, vyw4000, fch)
new_esEs18(Just(vyw300), Just(vyw4000), ty_Bool) → new_esEs13(vyw300, vyw4000)
new_compare110(vyw180, vyw181, vyw182, vyw183, False, bcf, bcg) → GT
new_esEs7(vyw30, vyw400, ty_Int) → new_esEs23(vyw30, vyw400)
new_esEs30(vyw591, vyw601, app(ty_[], cdb)) → new_esEs25(vyw591, vyw601, cdb)
new_ltEs23(vyw59, vyw60, ty_Bool) → new_ltEs15(vyw59, vyw60)
new_esEs37(vyw302, vyw4002, ty_Ordering) → new_esEs15(vyw302, vyw4002)
new_esEs35(vyw300, vyw4000, ty_Float) → new_esEs24(vyw300, vyw4000)
new_esEs8(vyw30, vyw400, app(ty_Ratio, edc)) → new_esEs16(vyw30, vyw400, edc)
new_esEs28(vyw113, vyw115, ty_Char) → new_esEs19(vyw113, vyw115)
new_esEs41(LT) → False
new_lt22(vyw101, vyw104, app(ty_Ratio, che)) → new_lt10(vyw101, vyw104, che)
new_gt(vyw18, vyw13, ty_Char) → new_esEs41(new_compare13(vyw18, vyw13))
new_lt24(vyw3, vyw40, ty_Float) → new_lt14(vyw3, vyw40)
new_compare14(Right(vyw30), Left(vyw400), dd, de) → GT
new_ltEs8(@3(vyw590, vyw591, vyw592), @3(vyw600, vyw601, vyw602), cad, cae, caf) → new_pePe(new_lt21(vyw590, vyw600, cad), new_asAs(new_esEs29(vyw590, vyw600, cad), new_pePe(new_lt20(vyw591, vyw601, cae), new_asAs(new_esEs30(vyw591, vyw601, cae), new_ltEs20(vyw592, vyw602, caf)))))
new_esEs22(Left(vyw300), Left(vyw4000), app(ty_Maybe, bgb), baa) → new_esEs18(vyw300, vyw4000, bgb)
new_esEs8(vyw30, vyw400, app(app(app(ty_@3, edg), edh), eea)) → new_esEs17(vyw30, vyw400, edg, edh, eea)
new_esEs8(vyw30, vyw400, app(app(ty_@2, ede), edf)) → new_esEs21(vyw30, vyw400, ede, edf)
new_gt(vyw18, vyw13, ty_Double) → new_esEs41(new_compare7(vyw18, vyw13))
new_esEs35(vyw300, vyw4000, app(ty_Ratio, eha)) → new_esEs16(vyw300, vyw4000, eha)
new_esEs40(vyw300, vyw4000, app(ty_[], fgf)) → new_esEs25(vyw300, vyw4000, fgf)
new_esEs29(vyw590, vyw600, ty_Double) → new_esEs20(vyw590, vyw600)
new_esEs8(vyw30, vyw400, ty_@0) → new_esEs26(vyw30, vyw400)
new_esEs29(vyw590, vyw600, app(app(ty_Either, cbf), cbg)) → new_esEs22(vyw590, vyw600, cbf, cbg)
new_ltEs9(Just(vyw590), Just(vyw600), ty_Integer) → new_ltEs18(vyw590, vyw600)
new_esEs29(vyw590, vyw600, app(app(app(ty_@3, cah), cba), cbb)) → new_esEs17(vyw590, vyw600, cah, cba, cbb)
new_compare24(vyw100, vyw101, vyw102, vyw103, vyw104, vyw105, True, cfh, cga, cgb) → EQ
new_esEs39(vyw301, vyw4001, ty_Integer) → new_esEs27(vyw301, vyw4001)
new_ltEs21(vyw102, vyw105, ty_Integer) → new_ltEs18(vyw102, vyw105)
new_compare111(vyw143, vyw144, True, bch, bda) → LT
new_ltEs23(vyw59, vyw60, ty_Integer) → new_ltEs18(vyw59, vyw60)
new_ltEs5(vyw591, vyw601, app(app(app(ty_@3, fc), fd), ff)) → new_ltEs8(vyw591, vyw601, fc, fd, ff)
new_lt23(vyw100, vyw103, ty_Double) → new_lt5(vyw100, vyw103)
new_primMulNat0(Succ(vyw40000), Succ(vyw3100)) → new_primPlusNat0(new_primMulNat0(vyw40000, Succ(vyw3100)), vyw3100)
new_esEs13(True, True) → True
new_esEs38(vyw300, vyw4000, app(ty_Ratio, fcg)) → new_esEs16(vyw300, vyw4000, fcg)
new_esEs9(vyw31, vyw401, app(ty_[], eed)) → new_esEs25(vyw31, vyw401, eed)
new_ltEs5(vyw591, vyw601, ty_Integer) → new_ltEs18(vyw591, vyw601)
new_lt24(vyw3, vyw40, app(ty_Maybe, dca)) → new_lt12(vyw3, vyw40, dca)
new_lt24(vyw3, vyw40, ty_Int) → new_lt6(vyw3, vyw40)
new_esEs38(vyw300, vyw4000, app(app(app(ty_@3, fdc), fdd), fde)) → new_esEs17(vyw300, vyw4000, fdc, fdd, fde)
new_esEs5(vyw31, vyw401, app(app(app(ty_@3, bag), bah), bba)) → new_esEs17(vyw31, vyw401, bag, bah, bba)
new_esEs7(vyw30, vyw400, app(ty_Maybe, dcd)) → new_esEs18(vyw30, vyw400, dcd)
new_esEs10(vyw30, vyw400, app(app(ty_Either, ebf), ebg)) → new_esEs22(vyw30, vyw400, ebf, ebg)
new_esEs25(:(vyw300, vyw301), :(vyw4000, vyw4001), gh) → new_asAs(new_esEs40(vyw300, vyw4000, gh), new_esEs25(vyw301, vyw4001, gh))
new_lt23(vyw100, vyw103, app(ty_Ratio, cgc)) → new_lt10(vyw100, vyw103, cgc)
new_ltEs5(vyw591, vyw601, ty_Ordering) → new_ltEs6(vyw591, vyw601)
new_lt21(vyw590, vyw600, ty_Integer) → new_lt18(vyw590, vyw600)
new_esEs18(Just(vyw300), Just(vyw4000), app(app(app(ty_@3, cfb), cfc), cfd)) → new_esEs17(vyw300, vyw4000, cfb, cfc, cfd)
new_lt8(vyw3, vyw40) → new_esEs12(new_compare9(vyw3, vyw40))
new_esEs22(Right(vyw300), Right(vyw4000), hh, app(ty_Ratio, bhc)) → new_esEs16(vyw300, vyw4000, bhc)
new_esEs15(GT, GT) → True
new_esEs32(vyw101, vyw104, app(ty_[], daf)) → new_esEs25(vyw101, vyw104, daf)
new_esEs32(vyw101, vyw104, ty_@0) → new_esEs26(vyw101, vyw104)
new_esEs32(vyw101, vyw104, ty_Char) → new_esEs19(vyw101, vyw104)
new_esEs11(vyw30, vyw400, app(app(ty_Either, ech), eda)) → new_esEs22(vyw30, vyw400, ech, eda)
new_compare8(vyw30, vyw400, ty_Char) → new_compare13(vyw30, vyw400)
new_primCompAux00(vyw90, GT) → GT
new_esEs7(vyw30, vyw400, app(app(ty_@2, dce), dcf)) → new_esEs21(vyw30, vyw400, dce, dcf)
new_esEs35(vyw300, vyw4000, ty_@0) → new_esEs26(vyw300, vyw4000)
new_ltEs22(vyw77, vyw78, app(ty_Maybe, dee)) → new_ltEs9(vyw77, vyw78, dee)
new_esEs4(vyw30, vyw400, app(ty_Ratio, ha)) → new_esEs16(vyw30, vyw400, ha)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs4(vyw30, vyw400, ty_@0) → new_esEs26(vyw30, vyw400)
new_esEs14(vyw590, vyw600, ty_Float) → new_esEs24(vyw590, vyw600)
new_esEs22(Right(vyw300), Right(vyw4000), hh, app(app(ty_Either, cab), cac)) → new_esEs22(vyw300, vyw4000, cab, cac)
new_esEs11(vyw30, vyw400, ty_Ordering) → new_esEs15(vyw30, vyw400)
new_primCmpInt(Neg(Succ(vyw300)), Pos(vyw400)) → LT
new_lt22(vyw101, vyw104, ty_Int) → new_lt6(vyw101, vyw104)
new_esEs4(vyw30, vyw400, app(ty_Maybe, hb)) → new_esEs18(vyw30, vyw400, hb)

The set Q consists of the following terms:

new_compare16(Float(x0, x1), Float(x2, x3))
new_ltEs14(x0, x1)
new_esEs29(x0, x1, ty_Double)
new_compare8(x0, x1, ty_Ordering)
new_esEs10(x0, x1, ty_Bool)
new_esEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt21(x0, x1, ty_Bool)
new_ltEs20(x0, x1, ty_Double)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_compare8(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_[], x2))
new_compare7(Double(x0, x1), Double(x2, x3))
new_esEs37(x0, x1, ty_Integer)
new_esEs40(x0, x1, ty_@0)
new_esEs37(x0, x1, ty_Float)
new_ltEs12(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs4(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, app(ty_[], x2))
new_compare110(x0, x1, x2, x3, False, x4, x5)
new_ltEs23(x0, x1, app(ty_[], x2))
new_esEs18(Just(x0), Just(x1), ty_Float)
new_primCmpNat0(Zero, Succ(x0))
new_asAs(False, x0)
new_ltEs23(x0, x1, ty_Float)
new_esEs38(x0, x1, ty_Integer)
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_compare9(EQ, EQ)
new_esEs22(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs39(x0, x1, app(ty_Ratio, x2))
new_ltEs15(True, True)
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, ty_Int)
new_esEs22(Right(x0), Right(x1), x2, ty_@0)
new_compare116(x0, x1, False, x2, x3)
new_ltEs12(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs38(x0, x1, ty_Double)
new_ltEs12(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_lt19(x0, x1, app(ty_[], x2))
new_compare8(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs18(Nothing, Nothing, x0)
new_esEs22(Right(x0), Right(x1), x2, ty_Bool)
new_esEs28(x0, x1, ty_Bool)
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt21(x0, x1, ty_Char)
new_esEs18(Just(x0), Just(x1), ty_Ordering)
new_esEs8(x0, x1, ty_@0)
new_lt19(x0, x1, ty_@0)
new_pePe(False, x0)
new_gt(x0, x1, app(ty_Maybe, x2))
new_compare112(x0, x1, x2, x3, True, x4, x5, x6)
new_sr(x0, x1)
new_esEs30(x0, x1, ty_Char)
new_ltEs21(x0, x1, ty_Int)
new_lt21(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_gt(x0, x1, ty_Char)
new_lt17(x0, x1)
new_esEs22(Left(x0), Left(x1), ty_Bool, x2)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_ltEs5(x0, x1, ty_Char)
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_ltEs6(EQ, EQ)
new_lt21(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Char)
new_compare114(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_compare14(Right(x0), Right(x1), x2, x3)
new_esEs40(x0, x1, ty_Double)
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_ltEs9(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs23(x0, x1, ty_Double)
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_primMulInt(Pos(x0), Pos(x1))
new_ltEs6(LT, EQ)
new_ltEs6(EQ, LT)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_lt23(x0, x1, app(ty_Maybe, x2))
new_esEs6(x0, x1, ty_Float)
new_lt4(x0, x1, x2, x3)
new_gt(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, ty_Char)
new_ltEs24(x0, x1, ty_Char)
new_primEqNat0(Zero, Zero)
new_esEs39(x0, x1, ty_Char)
new_ltEs9(Nothing, Just(x0), x1)
new_esEs39(x0, x1, ty_Float)
new_lt9(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Succ(x0), Zero)
new_lt22(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Bool)
new_ltEs21(x0, x1, ty_Integer)
new_lt22(x0, x1, ty_Double)
new_esEs22(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs24(x0, x1, ty_Integer)
new_primMulNat0(Zero, Zero)
new_esEs36(x0, x1, ty_Char)
new_compare113(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs40(x0, x1, app(ty_[], x2))
new_esEs12(LT)
new_esEs37(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Ordering)
new_ltEs16(x0, x1, x2)
new_esEs4(x0, x1, ty_Char)
new_esEs18(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs24(Float(x0, x1), Float(x2, x3))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, ty_Double)
new_lt24(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Int)
new_ltEs12(Right(x0), Right(x1), x2, ty_@0)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(x0, x1, ty_Double)
new_esEs22(Right(x0), Right(x1), x2, ty_Double)
new_compare8(x0, x1, ty_Double)
new_lt9(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Double)
new_ltEs24(x0, x1, app(ty_[], x2))
new_compare110(x0, x1, x2, x3, True, x4, x5)
new_ltEs9(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt24(x0, x1, ty_Bool)
new_ltEs22(x0, x1, ty_Ordering)
new_compare111(x0, x1, True, x2, x3)
new_ltEs12(Left(x0), Left(x1), ty_Float, x2)
new_esEs36(x0, x1, ty_Float)
new_esEs18(Just(x0), Just(x1), ty_@0)
new_primCompAux00(x0, EQ)
new_lt9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_gt(x0, x1, app(ty_[], x2))
new_gt(x0, x1, ty_Int)
new_ltEs12(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs28(x0, x1, ty_Integer)
new_ltEs12(Right(x0), Right(x1), x2, ty_Float)
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs23(x0, x1, ty_Ordering)
new_ltEs9(Just(x0), Just(x1), ty_Bool)
new_esEs18(Just(x0), Nothing, x1)
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, ty_Int)
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Ordering)
new_esEs38(x0, x1, ty_Float)
new_esEs37(x0, x1, app(ty_Maybe, x2))
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, ty_@0)
new_lt21(x0, x1, ty_Double)
new_esEs20(Double(x0, x1), Double(x2, x3))
new_ltEs19(x0, x1, ty_Bool)
new_esEs14(x0, x1, ty_Integer)
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs18(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, ty_Char)
new_compare9(LT, EQ)
new_compare9(EQ, LT)
new_esEs36(x0, x1, ty_Ordering)
new_ltEs12(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs25([], :(x0, x1), x2)
new_esEs36(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs37(x0, x1, app(ty_[], x2))
new_esEs22(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare114(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_compare9(GT, EQ)
new_compare9(EQ, GT)
new_esEs18(Just(x0), Just(x1), ty_Bool)
new_esEs39(x0, x1, app(app(ty_Either, x2), x3))
new_esEs35(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Int)
new_lt23(x0, x1, app(ty_Ratio, x2))
new_ltEs9(Just(x0), Just(x1), app(ty_[], x2))
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt24(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_esEs15(LT, LT)
new_lt24(x0, x1, ty_@0)
new_esEs38(x0, x1, ty_Int)
new_esEs31(x0, x1, ty_Float)
new_esEs7(x0, x1, ty_Int)
new_esEs15(GT, EQ)
new_esEs15(EQ, GT)
new_esEs39(x0, x1, ty_Double)
new_lt24(x0, x1, app(ty_Ratio, x2))
new_asAs(True, x0)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_lt24(x0, x1, app(ty_[], x2))
new_esEs5(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_ltEs5(x0, x1, ty_@0)
new_esEs40(x0, x1, ty_Integer)
new_primPlusNat1(Zero, Succ(x0))
new_lt9(x0, x1, ty_Integer)
new_esEs10(x0, x1, ty_Ordering)
new_esEs35(x0, x1, ty_Int)
new_ltEs11(x0, x1)
new_primPlusNat1(Succ(x0), Zero)
new_lt14(x0, x1)
new_ltEs8(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs17(x0, x1)
new_ltEs21(x0, x1, ty_Char)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_Double)
new_esEs37(x0, x1, ty_Ordering)
new_esEs7(x0, x1, ty_Integer)
new_ltEs9(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs9(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_compare9(GT, GT)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs22(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, ty_Int)
new_primPlusNat1(Succ(x0), Succ(x1))
new_ltEs22(x0, x1, ty_@0)
new_compare24(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs40(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Zero), Neg(Zero))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_gt(x0, x1, ty_Integer)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs6(x0, x1, ty_Bool)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs22(x0, x1, app(ty_[], x2))
new_esEs37(x0, x1, ty_Bool)
new_esEs11(x0, x1, ty_@0)
new_compare12(Just(x0), Just(x1), x2)
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt9(x0, x1, ty_@0)
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs34(x0, x1, ty_Integer)
new_esEs38(x0, x1, ty_Ordering)
new_esEs32(x0, x1, ty_Int)
new_esEs14(x0, x1, ty_@0)
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt21(x0, x1, ty_Integer)
new_esEs31(x0, x1, ty_Double)
new_ltEs5(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, ty_Ordering)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_compare12(Just(x0), Nothing, x1)
new_ltEs12(Left(x0), Left(x1), ty_Double, x2)
new_compare9(GT, LT)
new_compare9(LT, GT)
new_ltEs5(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Double)
new_primPlusNat0(Zero, x0)
new_lt22(x0, x1, app(ty_[], x2))
new_esEs37(x0, x1, ty_Char)
new_esEs40(x0, x1, ty_Float)
new_ltEs5(x0, x1, ty_Bool)
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, ty_Char)
new_lt20(x0, x1, ty_Float)
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs24(x0, x1, ty_Ordering)
new_compare8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(LT, LT)
new_esEs22(Right(x0), Right(x1), x2, app(ty_[], x3))
new_lt24(x0, x1, ty_Integer)
new_esEs22(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs9(Just(x0), Just(x1), ty_Double)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare115(x0, x1, False, x2)
new_ltEs9(Just(x0), Just(x1), ty_Int)
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs16(:%(x0, x1), :%(x2, x3), x4)
new_ltEs21(x0, x1, ty_@0)
new_esEs38(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs15(LT, GT)
new_esEs15(GT, LT)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs38(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs39(x0, x1, ty_Int)
new_esEs39(x0, x1, app(ty_[], x2))
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs11(x0, x1, ty_Integer)
new_esEs9(x0, x1, ty_Int)
new_primCompAux0(x0, x1, x2, x3)
new_lt23(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Bool)
new_lt23(x0, x1, ty_Int)
new_esEs39(x0, x1, ty_Ordering)
new_lt9(x0, x1, ty_Bool)
new_lt22(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, ty_Ordering)
new_not(True)
new_compare113(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_ltEs12(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_compare1(:(x0, x1), [], x2)
new_lt20(x0, x1, ty_Bool)
new_lt19(x0, x1, ty_Ordering)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs35(x0, x1, ty_Double)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_esEs11(x0, x1, ty_Float)
new_esEs5(x0, x1, ty_Integer)
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs18(Nothing, Just(x0), x1)
new_esEs30(x0, x1, ty_Double)
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_compare1([], [], x0)
new_ltEs20(x0, x1, ty_Float)
new_esEs36(x0, x1, ty_Int)
new_compare116(x0, x1, True, x2, x3)
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_compare25(x0, x1, x2, x3, False, x4, x5)
new_ltEs6(GT, EQ)
new_ltEs6(EQ, GT)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs38(x0, x1, app(ty_Maybe, x2))
new_esEs12(EQ)
new_compare11(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt21(x0, x1, app(ty_Maybe, x2))
new_esEs40(x0, x1, ty_Char)
new_ltEs21(x0, x1, app(ty_[], x2))
new_lt19(x0, x1, ty_Char)
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs8(x0, x1, ty_Char)
new_esEs14(x0, x1, ty_Ordering)
new_lt10(x0, x1, x2)
new_lt19(x0, x1, ty_Bool)
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_Ordering)
new_esEs32(x0, x1, ty_Bool)
new_ltEs24(x0, x1, ty_Int)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs37(x0, x1, app(ty_Ratio, x2))
new_esEs38(x0, x1, app(app(ty_@2, x2), x3))
new_compare26(x0, x1, True, x2)
new_esEs4(x0, x1, ty_@0)
new_esEs18(Just(x0), Just(x1), ty_Char)
new_lt9(x0, x1, ty_Float)
new_lt24(x0, x1, ty_Int)
new_ltEs23(x0, x1, ty_@0)
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_lt9(x0, x1, app(ty_[], x2))
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs24(x0, x1, ty_Double)
new_esEs31(x0, x1, app(ty_[], x2))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs12(GT)
new_esEs22(Left(x0), Left(x1), ty_Int, x2)
new_esEs9(x0, x1, ty_@0)
new_ltEs9(Just(x0), Just(x1), ty_Ordering)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(x0, x1, ty_Int)
new_esEs15(EQ, LT)
new_esEs15(LT, EQ)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_ltEs24(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_Char)
new_compare12(Nothing, Nothing, x0)
new_esEs30(x0, x1, ty_Bool)
new_esEs39(x0, x1, ty_Bool)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs14(x0, x1, ty_Int)
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25([], [], x0)
new_ltEs9(Just(x0), Just(x1), ty_Integer)
new_esEs22(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs32(x0, x1, ty_Float)
new_esEs28(x0, x1, ty_Int)
new_ltEs12(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs38(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs9(x0, x1, ty_Integer)
new_esEs14(x0, x1, app(ty_[], x2))
new_gt(x0, x1, app(app(ty_@2, x2), x3))
new_primCompAux00(x0, LT)
new_esEs4(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Float)
new_ltEs24(x0, x1, ty_Bool)
new_compare26(x0, x1, False, x2)
new_esEs22(Right(x0), Right(x1), x2, ty_Int)
new_lt9(x0, x1, app(ty_Maybe, x2))
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_compare1(:(x0, x1), :(x2, x3), x4)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_Integer)
new_ltEs22(x0, x1, ty_Char)
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Ordering)
new_compare111(x0, x1, False, x2, x3)
new_esEs26(@0, @0)
new_esEs25(:(x0, x1), :(x2, x3), x4)
new_esEs8(x0, x1, ty_Float)
new_ltEs12(Right(x0), Right(x1), x2, ty_Integer)
new_esEs39(x0, x1, ty_@0)
new_esEs29(x0, x1, ty_Char)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Left(x0), Left(x1), ty_Char, x2)
new_compare9(LT, LT)
new_lt6(x0, x1)
new_lt24(x0, x1, app(ty_Maybe, x2))
new_esEs18(Just(x0), Just(x1), ty_Int)
new_esEs22(Right(x0), Right(x1), x2, ty_Integer)
new_esEs22(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt9(x0, x1, ty_Double)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs18(Just(x0), Just(x1), ty_Integer)
new_esEs32(x0, x1, ty_Char)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt9(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Float)
new_lt24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Ordering)
new_lt22(x0, x1, ty_Char)
new_esEs7(x0, x1, ty_Float)
new_ltEs12(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs35(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Float)
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs15(False, False)
new_ltEs23(x0, x1, ty_Char)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Right(x0), Right(x1), x2, ty_Int)
new_esEs35(x0, x1, app(ty_[], x2))
new_ltEs22(x0, x1, ty_Int)
new_esEs22(Left(x0), Right(x1), x2, x3)
new_esEs22(Right(x0), Left(x1), x2, x3)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_compare8(x0, x1, ty_Float)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare112(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs7(x0, x1, ty_Char)
new_esEs31(x0, x1, ty_Int)
new_esEs36(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs12(Left(x0), Right(x1), x2, x3)
new_ltEs12(Right(x0), Left(x1), x2, x3)
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_lt7(x0, x1, x2, x3)
new_esEs28(x0, x1, ty_Double)
new_esEs30(x0, x1, ty_Ordering)
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs22(Left(x0), Left(x1), ty_Double, x2)
new_compare8(x0, x1, app(ty_[], x2))
new_esEs8(x0, x1, ty_Bool)
new_esEs31(x0, x1, ty_Integer)
new_esEs10(x0, x1, ty_@0)
new_ltEs22(x0, x1, ty_Double)
new_ltEs12(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare18(@0, @0)
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs22(x0, x1, ty_Integer)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, ty_Ordering)
new_esEs33(x0, x1, ty_Integer)
new_esEs9(x0, x1, ty_Ordering)
new_lt19(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_Char)
new_esEs4(x0, x1, ty_Integer)
new_lt12(x0, x1, x2)
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primCompAux00(x0, GT)
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs18(Just(x0), Just(x1), app(ty_[], x2))
new_primEqNat0(Succ(x0), Zero)
new_ltEs12(Left(x0), Left(x1), ty_Bool, x2)
new_esEs30(x0, x1, ty_@0)
new_gt(x0, x1, ty_@0)
new_esEs37(x0, x1, ty_Int)
new_esEs13(False, False)
new_esEs8(x0, x1, ty_Int)
new_ltEs12(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_lt22(x0, x1, ty_Int)
new_esEs5(x0, x1, ty_Float)
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_@0)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs35(x0, x1, ty_Integer)
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_esEs25(:(x0, x1), [], x2)
new_lt22(x0, x1, ty_Integer)
new_lt23(x0, x1, ty_Ordering)
new_lt5(x0, x1)
new_esEs11(x0, x1, ty_Double)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs7(x0, x1, x2)
new_esEs14(x0, x1, ty_Float)
new_esEs22(Left(x0), Left(x1), ty_Char, x2)
new_esEs37(x0, x1, ty_@0)
new_esEs40(x0, x1, ty_Bool)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs23(x0, x1)
new_esEs32(x0, x1, ty_@0)
new_compare27(x0, x1, False, x2, x3)
new_esEs22(Left(x0), Left(x1), ty_Float, x2)
new_esEs22(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_lt9(x0, x1, ty_Ordering)
new_ltEs12(Left(x0), Left(x1), ty_@0, x2)
new_primEqNat0(Zero, Succ(x0))
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs33(x0, x1, ty_Int)
new_ltEs12(Right(x0), Right(x1), x2, ty_Char)
new_primPlusNat0(Succ(x0), x1)
new_esEs34(x0, x1, ty_Int)
new_gt(x0, x1, ty_Bool)
new_ltEs9(Just(x0), Just(x1), ty_@0)
new_esEs41(GT)
new_esEs5(x0, x1, ty_Bool)
new_esEs29(x0, x1, ty_Bool)
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs14(x0, x1, ty_Bool)
new_esEs8(x0, x1, ty_Integer)
new_ltEs21(x0, x1, ty_Float)
new_lt15(x0, x1)
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_Ordering)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_ltEs9(Just(x0), Just(x1), ty_Float)
new_esEs5(x0, x1, ty_Ordering)
new_esEs14(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_Int)
new_lt9(x0, x1, app(ty_Ratio, x2))
new_primMulInt(Neg(x0), Neg(x1))
new_esEs28(x0, x1, ty_Float)
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_lt22(x0, x1, ty_Bool)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_Int)
new_ltEs9(Just(x0), Nothing, x1)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_primPlusNat1(Zero, Zero)
new_esEs39(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt22(x0, x1, ty_Float)
new_esEs6(x0, x1, ty_Double)
new_esEs5(x0, x1, ty_@0)
new_compare8(x0, x1, ty_@0)
new_esEs14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs4(x0, x1, ty_Float)
new_esEs22(Right(x0), Right(x1), x2, ty_Char)
new_compare6(@2(x0, x1), @2(x2, x3), x4, x5)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs37(x0, x1, app(app(ty_Either, x2), x3))
new_lt23(x0, x1, ty_Double)
new_esEs40(x0, x1, app(ty_Ratio, x2))
new_esEs41(EQ)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_lt9(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs14(x0, x1, app(ty_Maybe, x2))
new_lt11(x0, x1, x2, x3, x4)
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_ltEs12(Right(x0), Right(x1), x2, ty_Bool)
new_esEs5(x0, x1, ty_Int)
new_compare115(x0, x1, True, x2)
new_esEs11(x0, x1, ty_Bool)
new_fsEs(x0)
new_ltEs15(True, False)
new_ltEs15(False, True)
new_sr0(Integer(x0), Integer(x1))
new_compare12(Nothing, Just(x0), x1)
new_lt24(x0, x1, ty_Ordering)
new_compare15(x0, x1)
new_lt22(x0, x1, ty_@0)
new_compare8(x0, x1, app(app(ty_Either, x2), x3))
new_esEs37(x0, x1, ty_Double)
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_lt21(x0, x1, app(ty_[], x2))
new_esEs38(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_compare19(Integer(x0), Integer(x1))
new_ltEs10(x0, x1)
new_gt(x0, x1, ty_Double)
new_compare8(x0, x1, app(ty_Ratio, x2))
new_lt23(x0, x1, ty_Char)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(x0, x1, ty_Float)
new_ltEs24(x0, x1, ty_@0)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs39(x0, x1, app(ty_Maybe, x2))
new_ltEs12(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_esEs36(x0, x1, ty_@0)
new_compare14(Left(x0), Left(x1), x2, x3)
new_esEs19(Char(x0), Char(x1))
new_lt20(x0, x1, ty_Integer)
new_esEs14(x0, x1, ty_Double)
new_esEs10(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Integer)
new_esEs27(Integer(x0), Integer(x1))
new_esEs6(x0, x1, ty_Char)
new_compare17(False, True)
new_compare17(True, False)
new_esEs35(x0, x1, ty_Float)
new_compare10(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs40(x0, x1, ty_Ordering)
new_lt19(x0, x1, ty_Double)
new_ltEs20(x0, x1, ty_@0)
new_esEs9(x0, x1, ty_Double)
new_compare28(x0, x1, True, x2, x3)
new_compare1([], :(x0, x1), x2)
new_esEs8(x0, x1, ty_Ordering)
new_ltEs12(Left(x0), Left(x1), ty_Int, x2)
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_esEs35(x0, x1, ty_Char)
new_lt19(x0, x1, ty_Integer)
new_compare28(x0, x1, False, x2, x3)
new_ltEs12(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs22(x0, x1, ty_Bool)
new_ltEs12(Left(x0), Left(x1), ty_Integer, x2)
new_esEs40(x0, x1, ty_Int)
new_ltEs6(GT, GT)
new_esEs7(x0, x1, ty_Ordering)
new_esEs22(Left(x0), Left(x1), ty_Ordering, x2)
new_lt24(x0, x1, ty_Float)
new_ltEs19(x0, x1, ty_@0)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs9(Just(x0), Just(x1), ty_Char)
new_ltEs23(x0, x1, ty_Integer)
new_esEs39(x0, x1, app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, ty_Bool)
new_compare17(False, False)
new_esEs30(x0, x1, ty_Float)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_primCmpNat0(Zero, Zero)
new_compare24(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_lt24(x0, x1, ty_Double)
new_esEs18(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs35(x0, x1, ty_@0)
new_esEs18(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs12(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_lt23(x0, x1, ty_Integer)
new_esEs4(x0, x1, ty_Double)
new_gt(x0, x1, ty_Ordering)
new_lt16(x0, x1, x2)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_lt23(x0, x1, ty_Float)
new_ltEs22(x0, x1, ty_Float)
new_ltEs9(Nothing, Nothing, x0)
new_esEs36(x0, x1, ty_Bool)
new_esEs15(GT, GT)
new_compare8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, app(ty_[], x2))
new_primMulNat0(Zero, Succ(x0))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_esEs18(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs4(x0, x1, ty_Int)
new_lt20(x0, x1, ty_Char)
new_esEs40(x0, x1, app(ty_Maybe, x2))
new_esEs10(x0, x1, ty_Float)
new_esEs36(x0, x1, ty_Integer)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, app(ty_[], x2))
new_gt(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_Ordering)
new_lt23(x0, x1, app(ty_[], x2))
new_esEs37(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(False, True)
new_esEs13(True, False)
new_esEs6(x0, x1, ty_Integer)
new_esEs41(LT)
new_pePe(True, x0)
new_ltEs9(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_Integer)
new_esEs7(x0, x1, ty_Bool)
new_esEs4(x0, x1, ty_Ordering)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_esEs14(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, ty_@0)
new_esEs38(x0, x1, app(ty_[], x2))
new_esEs22(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_compare13(Char(x0), Char(x1))
new_esEs40(x0, x1, app(app(ty_Either, x2), x3))
new_compare25(x0, x1, x2, x3, True, x4, x5)
new_esEs13(True, True)
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs15(EQ, EQ)
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_esEs18(Just(x0), Just(x1), ty_Double)
new_lt20(x0, x1, ty_@0)
new_esEs22(Right(x0), Right(x1), x2, ty_Float)
new_compare14(Left(x0), Right(x1), x2, x3)
new_compare14(Right(x0), Left(x1), x2, x3)
new_esEs22(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs12(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs22(Left(x0), Left(x1), ty_@0, x2)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Integer)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_lt18(x0, x1)
new_compare27(x0, x1, True, x2, x3)
new_esEs7(x0, x1, ty_Double)
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_lt13(x0, x1)
new_esEs39(x0, x1, ty_Integer)
new_esEs40(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_ltEs13(x0, x1)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs32(x0, x1, ty_Double)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs14(x0, x1, ty_Char)
new_lt8(x0, x1)
new_esEs6(x0, x1, ty_Ordering)
new_esEs5(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(x0, x1, ty_Double)
new_primCmpNat0(Succ(x0), Zero)
new_gt(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, ty_Float)
new_gt(x0, x1, app(app(ty_Either, x2), x3))
new_compare8(x0, x1, ty_Integer)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs6(x0, x1, ty_Int)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_lt19(x0, x1, ty_Int)
new_ltEs23(x0, x1, ty_Int)
new_lt23(x0, x1, ty_@0)
new_lt22(x0, x1, ty_Ordering)
new_lt24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs18(x0, x1)
new_esEs28(x0, x1, ty_Char)
new_compare8(x0, x1, ty_Char)
new_compare17(True, True)
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_esEs21(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs12(Right(x0), Right(x1), x2, ty_Double)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs22(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs23(x0, x1, ty_Bool)
new_compare8(x0, x1, ty_Int)
new_esEs5(x0, x1, app(ty_Ratio, x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: